@mercuryo-ai/magicpay-home 0.1.11 → 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 CHANGED
@@ -5,13 +5,14 @@
5
5
  Shared home directory and state contract for the MagicPay CLI family.
6
6
 
7
7
  This package owns `~/.magicpay/`: the on-disk home directory where
8
- MagicPay's CLIs keep their config, browser session, workflow state, and
9
- related files. It is not a CLI of its own — it is consumed as a
10
- dependency by:
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:
11
11
 
12
- - [`@mercuryo-ai/agentbrowse-cli`](https://www.npmjs.com/package/@mercuryo-ai/agentbrowse-cli) — browser automation
12
+ - [`@mercuryo-ai/magicbrowse-cli`](https://www.npmjs.com/package/@mercuryo-ai/magicbrowse-cli) — browser-only CLI; uses the shared MagicPay gateway config
13
13
  - [`@mercuryo-ai/magicpay-cli`](https://www.npmjs.com/package/@mercuryo-ai/magicpay-cli) — protected-form fills
14
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
15
16
 
16
17
  ## Do I Need To Install This?
17
18
 
@@ -20,46 +21,56 @@ above. You do not need to install or configure it directly.
20
21
 
21
22
  ## Why This Package Exists
22
23
 
23
- The underlying browser library [`@mercuryo-ai/agentbrowse`](https://www.npmjs.com/package/@mercuryo-ai/agentbrowse)
24
- stores its own state in `~/.agentbrowse/` by default. That default is the
25
- right behaviour for integrators who embed `@mercuryo-ai/agentbrowse` into
26
- their own product under their own brand.
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.
27
29
 
28
- MagicPay is one such integrator. To keep configuration, browser state,
29
- and workflow state together under a single directory, `magicpay-home`:
30
+ `magicpay-home` is the owner of `~/.magicpay/` and of the typed helpers
31
+ the other packages call to read and write files there:
30
32
 
31
33
  1. Defines the MagicPay home directory at `~/.magicpay/`.
32
- 2. Overrides the `@mercuryo-ai/agentbrowse` storage hook so the browser
33
- library writes into `~/.magicpay/` instead of `~/.agentbrowse/` when
34
- any MagicPay CLI is running.
35
- 3. Provides typed helpers for the MagicPay-specific files in that same
36
- directory (config, workflow state, update-check state, etc.).
37
-
38
- If you build your own product on top of `@mercuryo-ai/agentbrowse`, you
39
- can apply the same pattern with your own home directory name.
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.
40
47
 
41
48
  ## Directory Layout
42
49
 
43
50
  All paths are relative to `~/.magicpay/` (or the OS equivalent of
44
51
  `homedir() + "/.magicpay/"`).
45
52
 
46
- | Path | Owner | Purpose | Written by |
47
- | --- | --- | --- | --- |
48
- | `config.json` | `magicpay-home` | Shared config: gateway (`apiKey`, `apiUrl`), browser defaults (profile, headless, proxy), updates policy. | `init` on any CLI. |
49
- | `browser-session.json` | `@mercuryo-ai/agentbrowse` (via override) | CDP endpoint and browser session state so `launch` / `attach` persist across processes. | Every CLI that touches the browser — `agentbrowse-cli`, `magicpay-agent-cli`. |
50
- | `workflow-state.json` | `magicpay-home` | In-flight protected-form workflow state (open-data snapshot, cached transient secrets, current step). | `magicpay-cli` and `magicpay-agent-cli` only. |
51
- | `update-state.json` | `magicpay-home` | Last CLI update-check timestamp and cached result. | Any CLI that runs the update check. |
52
- | `mock-stored-secrets.json` | `magicpay-home` | Development-only mock vault items. Not used in production. | Only when the CLI is run in mock mode. |
53
- | `mock-secret-requests.json` | `magicpay-home` | Development-only mock secret-request log. Not used in production. | Only when the CLI is run in mock mode. |
54
- | `profiles/` | `@mercuryo-ai/agentbrowse` (via override) | Per-profile browser user-data directories (cookies, localStorage, cache). | `launch` when a named profile is used. |
55
- | `runs/` | `magicpay-home` | Per-run telemetry and artefacts. | Any CLI run that records run telemetry. |
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. |
56
67
 
57
68
  Rules of thumb when debugging:
58
69
 
59
70
  - **Safe to delete to reset auth:** `config.json`. The next `init` re-creates it.
60
71
  - **Safe to delete to reset the browser session:** `browser-session.json`.
61
72
  Next `launch` / `attach` starts fresh.
62
- - **Safe to delete to reset an in-flight workflow:** `workflow-state.json`.
73
+ - **Safe to delete to reset an active workflow:** `workflow-state.json`.
63
74
  Any active `magicpay` / `magicpay-agent` session is lost; the next
64
75
  `start-session` begins clean.
65
76
  - **Do not hand-edit** any of these files — they are managed by the CLIs
@@ -71,12 +82,12 @@ Rules of thumb when debugging:
71
82
  (`readMagicPayConfig`, `writeMagicPayConfig`, `doctorMagicPayConfig`).
72
83
  - Path helpers for every file and directory above (`getMagicPayHomeDir`,
73
84
  `getMagicPayConfigPath`, `getMagicPayBrowserSessionPath`, etc.).
74
- - Workflow-state helpers for the in-flight protected-form session
85
+ - Workflow-state helpers for the active protected-form session
75
86
  (`loadWorkflowContext`, `saveWorkflowContext`, `clearWorkflowState`).
76
87
  - Browser-session helpers (`loadMagicPayBrowserSession`,
77
- `saveMagicPayBrowserSession`, `deleteMagicPayBrowserSession`) that also
78
- install the `@mercuryo-ai/agentbrowse` storage override so both packages
79
- read and write the same file.
88
+ `saveMagicPayBrowserSession`, `deleteMagicPayBrowserSession`) for the
89
+ CDP endpoint pointer that magicpay-cli and magicpay-agent-cli persist
90
+ across processes.
80
91
  - CLI update-check helper (`checkForPackageUpdate`) with state persisted
81
92
  in `update-state.json`.
82
93
  - Safe concurrent writes so several MagicPay CLIs can run in the same
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 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';
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
@@ -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,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"}
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"}
@@ -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
- import { type BrowserSessionState } from '@mercuryo-ai/agentbrowse';
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;
@@ -88,4 +156,5 @@ export declare function loadMagicPayBrowserSession(): MagicPayBrowserSessionStat
88
156
  export declare function deleteMagicPayBrowserSession(): void;
89
157
  export declare function saveMagicPaySession(session: MagicPaySession): void;
90
158
  export declare function loadMagicPaySession(): MagicPaySession | null;
159
+ export declare function resolveBrowserSessionId(session: Pick<BrowserSessionState, 'cdpUrl' | 'identity' | 'pid' | 'magicBrowseSessionId'>): string;
91
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":"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"}
1
+ {"version":3,"file":"workflow-state.d.ts","sourceRoot":"","sources":["../src/workflow-state.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import { createBrowserSessionStore, resolveBrowserSessionId, } from '@mercuryo-ai/agentbrowse';
2
1
  import { deleteFileIfExists, atomicWriteJson, readJsonFile } from './fs.js';
3
- import { MAGICPAY_BROWSER_SESSION_FILENAME, getMagicPayHomeDir, getMagicPayWorkflowStatePath, } from './paths.js';
2
+ import { getMagicPayBrowserSessionPath, getMagicPayWorkflowStatePath, } from './paths.js';
4
3
  export function withMagicPayCaptchaCapability(session, captchaSolve = true) {
5
4
  const currentCapabilities = session.capabilities;
6
5
  return {
@@ -71,7 +70,7 @@ function openDataEntryIdentity(entry) {
71
70
  return [
72
71
  normalizeOpenDataFieldKey(entry.fieldKey),
73
72
  entry.applicability.target,
74
- normalizeScopeValue(entry.applicability.value),
73
+ normalizeScopeValue(entry.applicability.target === 'host' ? entry.applicability.value : undefined),
75
74
  entry.value,
76
75
  ].join('::');
77
76
  }
@@ -189,10 +188,19 @@ export function getSessionOpenDataValues(session, fieldKey, options = {}) {
189
188
  .map((entry) => cloneOpenDataEntry(entry));
190
189
  }
191
190
  function getMagicPayBrowserSessionStore() {
192
- return createBrowserSessionStore({
193
- rootDir: getMagicPayHomeDir(),
194
- sessionFileName: MAGICPAY_BROWSER_SESSION_FILENAME,
195
- });
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
+ };
196
204
  }
197
205
  function isExpired(expiresAt, now) {
198
206
  if (!expiresAt) {
@@ -359,3 +367,25 @@ export function loadMagicPaySession() {
359
367
  return null;
360
368
  }
361
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.11",
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/agentbrowse": "0.2.63",
24
- "@mercuryo-ai/magicpay-sdk": "0.1.3"
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/agentbrowse 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/agentbrowse build && pnpm --dir ../.. --filter @mercuryo-ai/magicpay-sdk build && tsc --noEmit",
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/agentbrowse build && pnpm --dir ../.. --filter @mercuryo-ai/magicpay-sdk build"
37
+ "test:deps": "pnpm --dir ../.. --filter @mercuryo-ai/magicbrowse build && pnpm --dir ../.. --filter @mercuryo-ai/magicpay-sdk build"
38
38
  }
39
39
  }