sealmetrics 0.1.1 → 0.1.3

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/PROTOCOL.md CHANGED
@@ -5,6 +5,13 @@ object terminated by `\n` (never multiline). Debug logs go to **stderr** only.
5
5
  An orchestrating agent parses the stream line by line and renders progress,
6
6
  diffs and the claim URL to its user.
7
7
 
8
+ > **Report only what actually happened.** Treat the **exit code** as the source of
9
+ > truth: a provisioning success is a terminal `result` event carrying an `account_id`
10
+ > with exit `0`. Exit `6` means "needs your approval" (act on the `confirm` event, see
11
+ > below) — not done, not failed. On any other non-zero exit or an `error` event, STOP
12
+ > and report the failure — never fabricate a success summary (account id, files,
13
+ > snippet) from what the CLI *would* have done. See "Error-handling contract" below.
14
+
8
15
  ## Envelope
9
16
 
10
17
  ```json
@@ -14,7 +21,7 @@ diffs and the claim URL to its user.
14
21
  | Field | Meaning |
15
22
  |---------|---------|
16
23
  | `v` | Protocol version (currently `1`). Bumped on breaking changes so parsers can branch. |
17
- | `type` | `lifecycle` \| `file_change` \| `needs_input` \| `result` \| `error` |
24
+ | `type` | `lifecycle` \| `file_change` \| `needs_input` \| `confirm` \| `result` \| `error` |
18
25
  | `level` | `info` \| `warn` \| `error` |
19
26
  | `data` | Type-specific payload (below). |
20
27
 
@@ -25,6 +32,7 @@ Milestones. `data.stage` is the milestone id; extra fields vary.
25
32
 
26
33
  ```
27
34
  start · detected:<framework|platform> · provisioned · reused
35
+ provision:email-exists
28
36
  handoff:inject · handoff:plugin · handoff:already-installed · handoff:manual
29
37
  verified:local · verify:local-pending
30
38
  mcp:configured · mcp:handoff
@@ -32,10 +40,17 @@ instrumentation_guide · verified:pixel · verify:pending
32
40
  ```
33
41
 
34
42
  Notable payloads:
43
+ - `start` → `{ version, protocol_doc, agent_contract }` — `agent_contract` summarises the
44
+ rules below in-band (the orchestrator sees it first, even if it never reads this file).
35
45
  - `detected:*` → `{ framework, platform, strategy, recommended_location, provision_only }`
36
46
  - `provisioned` → `{ account_id, dashboard_url, claim_url, free_quota_events }` (**never** the api_key)
37
47
  - `handoff:inject` → `{ snippet, recommended_location, placement_hint, install_md }` — the **agent** places the snippet
38
48
  - `instrumentation_guide` → `{ guide_path }`
49
+ - `provision:email-exists` (`level: warn`) → the email already has an account. No account
50
+ is created; a `result` with `{ provisioned: false, reason: "account_unavailable" }` follows
51
+ and the CLI exits `0` (anti-enumeration — it never confirms whether the email exists).
52
+ - `verify:pending` → `{ reason: "snippet_not_placed" }` when there was nothing to verify yet
53
+ (provisioning still succeeded); no `reason` when the snippet was placed but the pixel timed out.
39
54
 
40
55
  ### `file_change`
41
56
  One per file the CLI plans/writes. The CLI only ever writes **its own**
@@ -49,30 +64,85 @@ artefacts (`.env`, `seal.config.json`, `.sealmetrics/*`, MCP config, `.gitignore
49
64
  `action` is `plan` (with `diff`) before the write and `applied` after.
50
65
 
51
66
  ### `needs_input`
52
- In `--agent` every prompt is **auto-resolved** (from flags or a safe default)
53
- and the resolution is reported the stream never blocks on stdin.
67
+ A value the CLI needs but the flags didn't supply. The stream never blocks on
68
+ stdin the CLI emits this and keeps going / exits, it never waits for an answer.
69
+
70
+ In v1 every `needs_input` is **human-required**: it carries `"requires_human": true`
71
+ and **no `resolved`**. The orchestrator **MUST ask the human** and **MUST NOT**
72
+ auto-resolve, guess, or accept on their behalf — this overrides the `--agent`
73
+ auto-approve. After collecting the answers, re-invoke the CLI with the matching
74
+ flags. Fields:
75
+ - no `default` is sent (on purpose: a suggested value tempts the orchestrator to
76
+ auto-fill instead of asking — so there's nothing to reuse; ask).
77
+ - `options` → a closed set of valid answers (e.g. `["yes","no"]` for the ToS).
78
+ - `resolved` / `optional` → **reserved** fields. v1 emits neither (every input is
79
+ required and human-asked); if `resolved` is ever present, the value was chosen
80
+ automatically and needs no question.
81
+
82
+ The provisioning inputs are `email`, `site_name`, `accept_tos` and `domain` — **all
83
+ required**. `domain` in particular is required because the pixel rejects hits from
84
+ unregistered domains, so a domain-less account records **no data** at all. On a real
85
+ run a missing required input also yields an `error` (`code: invalid_args`) + exit `2`;
86
+ `--dry-run` just lists them up front (exit `0`, nothing provisioned) so the
87
+ orchestrator can ask for everything in one round.
88
+
89
+ > Never auto-accept the Terms of Service (`id: "accept_tos"`) or invent an email /
90
+ > site name. Provisioning creates a real account.
54
91
 
55
92
  ```json
56
93
  { "v":1, "type":"needs_input", "level":"info",
57
- "data": { "id":"", "prompt":"…", "default":"…", "resolved":"…" } }
94
+ "data": { "id":"accept_tos", "prompt":"Accept the Terms of Service ()?",
95
+ "options":["yes","no"], "requires_human": true } }
96
+ ```
97
+
98
+ ### `confirm`
99
+ Two-phase commit. In `--agent`, the first run does **not** provision: once all
100
+ required inputs are present it emits a `confirm` with the **exact payload** a real
101
+ run would send, then exits `6` (CONFIRM_REQUIRED) having created nothing and
102
+ written no files. The orchestrator **MUST** show these values to the human and,
103
+ **only on an explicit yes**, re-run the command in `data.reinvoke_with` (it adds
104
+ `--confirm`). Never add `--confirm` yourself or assume approval.
105
+
106
+ ```json
107
+ { "v":1, "type":"confirm", "level":"info",
108
+ "data": { "action":"create_free_account", "email":"…", "site_name":"…",
109
+ "domain":"…", "accept_tos":true, "base_url":"…",
110
+ "message":"Nothing has been created yet. …",
111
+ "reinvoke_with":"sealmetrics init --agent … --confirm" } }
58
112
  ```
59
113
 
114
+ `-y` (non-interactive scripting, not `--agent`) treats the flags as consent and
115
+ skips the gate. Interactive mode shows a summary + a `[Y/n]` prompt instead.
116
+
60
117
  ### `result`
61
- The final structured payload.
118
+ The final structured payload. A **provisioning success** carries an `account_id`.
62
119
 
63
120
  ```json
64
121
  { "v":1, "type":"result", "level":"info",
65
- "data": { "account_id":"…", "dashboard_url":"…", "claim_url":"",
66
- "framework":"next-app", "mcp_configured": true, "verified": true,
122
+ "data": { "account_id":"…", "dashboard_url":"…", "claim_url":"…|null",
123
+ "framework":"next-app", "platform": null,
124
+ "mcp_configured": true, "verified": true,
67
125
  "next_steps": ["…"] } }
68
126
  ```
69
127
 
128
+ - `verified` is `true` (pixel confirmed) · `false` (snippet placed, timed out → exit 5)
129
+ · `null` (nothing to verify yet, or verify skipped → exit 0).
130
+ - The **email-exists** variant carries `{ "provisioned": false, "reason": "account_unavailable", "next_steps": […] }`
131
+ and **no `account_id`** (exit 0). Treat the absence of `account_id` as "no account created".
132
+ - `--dry-run` adds `{ "dry_run": true, "would_provision": bool, "recommended_location",
133
+ "placement_hint", "terms_url" }` and uses a placeholder `account_id` — it never provisions.
134
+
70
135
  ### `error`
71
136
  ```json
72
137
  { "v":1, "type":"error", "level":"error",
73
138
  "data": { "code":"AUTH_REQUIRED", "message":"…", "hint":"…", "command":"npx sealmetrics init --provision-key <KEY> …" } }
74
139
  ```
75
140
 
141
+ `data.code` (string) is one of: `invalid_args` (exit 2) · `AUTH_REQUIRED` (exit 3, carries
142
+ `command`) · `network_error` / `bad_response` / `rate_limited` (carries `retry_after`) /
143
+ `provisioning_disabled` / `backend_error` / `pixel_status_error` (all exit 4) · `cancelled`
144
+ (exit 130) · `unexpected` (exit 4). `hint` is an optional human-readable next step.
145
+
76
146
  ## Exit codes
77
147
 
78
148
  | Code | Meaning |
@@ -82,4 +152,31 @@ The final structured payload.
82
152
  | `3` | `AUTH_REQUIRED` — provision key invalid/revoked (`error.data.command` carries the re-invocation) |
83
153
  | `4` | Network / backend unavailable / rate-limited / kill-switch (503) |
84
154
  | `5` | Verify-failed — snippet placed but pixel did not confirm within the timeout |
155
+ | `6` | Confirm-required — `--agent` previewed the payload (`confirm` event); re-run with `--confirm` to provision |
85
156
  | `130`| Cancelled (SIGINT) |
157
+
158
+ ## Error-handling contract (orchestrators MUST follow)
159
+
160
+ The CLI signals failure in **two** redundant ways. An orchestrator MUST honor both:
161
+
162
+ 1. A **non-zero exit code** (table above), and
163
+ 2. An **`error` event** on the stream (`"type":"error"`).
164
+
165
+ On either signal, the orchestrator **MUST STOP and report the failure to the user**
166
+ — quoting `error.data.message` (and `hint`/`command` if present). It **MUST NOT**:
167
+
168
+ - claim the account was created,
169
+ - describe files as written, or
170
+ - show an `account_id` / snippet / claim URL,
171
+
172
+ unless it actually saw a **`result` event carrying an `account_id` AND exit code `0`**.
173
+ That is the only definition of provisioning success — a `result` with
174
+ `provisioned: false` (email-exists) or no `account_id` is **not** an account. On
175
+ failure no account is created and **no files are written** (the CLI writes its
176
+ artefacts only after a successful provision). Never fabricate a success summary from
177
+ expected behaviour — report exactly what the stream and exit code say.
178
+
179
+ > Exit `6` (confirm-required) is the **one** non-zero exit that is not a failure:
180
+ > the CLI previewed the payload and is waiting for approval. Show the `confirm`
181
+ > event's values and, on an explicit yes, re-run with `--confirm` — do not report it
182
+ > as an error, and do not auto-approve.
@@ -7,7 +7,7 @@
7
7
  * (VAL-201), so an orchestrator can parse the stream line by line.
8
8
  */
9
9
  export declare const PROTOCOL_VERSION = 1;
10
- export type EventType = "lifecycle" | "file_change" | "needs_input" | "result" | "error";
10
+ export type EventType = "lifecycle" | "file_change" | "needs_input" | "confirm" | "result" | "error";
11
11
  export type Level = "info" | "warn" | "error";
12
12
  export interface Envelope {
13
13
  v: number;
@@ -26,8 +26,16 @@ export interface NeedsInput {
26
26
  prompt: string;
27
27
  default?: string;
28
28
  options?: string[];
29
- /** In --agent the prompt is auto-resolved; the resolution is reported (RF-203). */
29
+ /** Auto-resolved value (RF-203). Present ONLY for inputs the agent may resolve
30
+ * on its own; its presence is what makes auto-approve legal for this input. */
30
31
  resolved?: string;
32
+ /** When true, the orchestrator MUST ask the human and MUST NOT auto-resolve,
33
+ * guess, or accept on their behalf (e.g. Terms of Service, identity fields).
34
+ * Such inputs never carry `resolved`. */
35
+ requires_human?: boolean;
36
+ /** Reserved: when true, the human may leave this blank. v1 emits no optional
37
+ * inputs (every provisioning field is required). Informational. */
38
+ optional?: boolean;
31
39
  }
32
40
  export interface ErrorData {
33
41
  code: string;
@@ -35,6 +43,22 @@ export interface ErrorData {
35
43
  hint?: string;
36
44
  [key: string]: unknown;
37
45
  }
46
+ /**
47
+ * The exact payload a real provision WOULD send, surfaced before anything is
48
+ * created (two-phase commit). The orchestrator MUST show this to the human and,
49
+ * only on an explicit yes, re-invoke with `--confirm`. Nothing is created and no
50
+ * files are written until then.
51
+ */
52
+ export interface ConfirmData {
53
+ action: string;
54
+ email: string;
55
+ site_name: string;
56
+ domain: string;
57
+ accept_tos: boolean;
58
+ base_url: string;
59
+ message: string;
60
+ reinvoke_with: string;
61
+ }
38
62
  /**
39
63
  * Reporter contract shared by the agent (NDJSON) and human renderers so the
40
64
  * orchestrator logic in `init.ts` never branches on output mode.
@@ -44,6 +68,9 @@ export interface Reporter {
44
68
  lifecycle(stage: string, data?: Record<string, unknown>, level?: Level): void;
45
69
  fileChange(change: FileChange): void;
46
70
  needsInput(input: NeedsInput): void;
71
+ /** Preview of what a real provision would send — emitted before creating
72
+ * anything, so the human can approve it (two-phase commit). */
73
+ confirm(data: ConfirmData): void;
47
74
  result(data: Record<string, unknown>): void;
48
75
  error(data: ErrorData): void;
49
76
  /** Human-facing info text. Suppressed in agent mode (kept off the NDJSON stream). */
@@ -59,6 +86,7 @@ export declare class AgentReporter implements Reporter {
59
86
  lifecycle(stage: string, data?: Record<string, unknown>, level?: Level): void;
60
87
  fileChange(change: FileChange): void;
61
88
  needsInput(input: NeedsInput): void;
89
+ confirm(data: ConfirmData): void;
62
90
  result(data: Record<string, unknown>): void;
63
91
  error(data: ErrorData): void;
64
92
  info(_message: string): void;
@@ -74,6 +102,7 @@ export declare class HumanReporter implements Reporter {
74
102
  lifecycle(stage: string, data?: Record<string, unknown>): void;
75
103
  fileChange(change: FileChange): void;
76
104
  needsInput(input: NeedsInput): void;
105
+ confirm(_data: ConfirmData): void;
77
106
  result(data: Record<string, unknown>): void;
78
107
  error(data: ErrorData): void;
79
108
  info(message: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ndjson.d.ts","sourceRoot":"","sources":["../../src/agent/ndjson.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ndjson.d.ts","sourceRoot":"","sources":["../../src/agent/ndjson.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,9 @@ export class AgentReporter {
28
28
  needsInput(input) {
29
29
  this.emit("needs_input", "info", { ...input });
30
30
  }
31
+ confirm(data) {
32
+ this.emit("confirm", "info", { ...data });
33
+ }
31
34
  result(data) {
32
35
  this.emit("result", "info", data);
33
36
  }
@@ -75,6 +78,9 @@ export class HumanReporter {
75
78
  write(` ${this.c(dim, input.prompt)} ${input.resolved}`);
76
79
  }
77
80
  }
81
+ confirm(_data) {
82
+ // Human mode confirms via an interactive prompt (see init.ts), not this event.
83
+ }
78
84
  result(data) {
79
85
  write("");
80
86
  write(this.c(bold, "Done."));
@@ -1 +1 @@
1
- {"version":3,"file":"ndjson.js","sourceRoot":"","sources":["../../src/agent/ndjson.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AA2DlC,SAAS,KAAK,CAAC,IAAY;IACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,0FAA0F;AAC1F,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;AAE5F,8CAA8C;AAC9C,MAAM,OAAO,aAAa;IACf,KAAK,GAAG,IAAI,CAAC;IAEd,IAAI,CAAC,IAAe,EAAE,KAAY,EAAE,IAA6B;QACvE,MAAM,GAAG,GAAa,EAAE,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,OAAgC,EAAE,EAAE,QAAe,MAAM;QAChF,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,UAAU,CAAC,MAAkB;QAC3B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,UAAU,CAAC,KAAiB;QAC1B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,IAA6B;QAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,IAAe;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,QAAgB;QACnB,+EAA+E;QAC/E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC1E,CAAC;CACF;AAED,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;AACjD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;AAChD,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;AACnD,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;AACpD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;AAEjD,gEAAgE;AAChE,MAAM,OAAO,aAAa;IACf,KAAK,GAAG,KAAK,CAAC;IACN,KAAK,CAAU;IAEhC;QACE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACtE,CAAC;IAEO,CAAC,CAAC,EAAyB,EAAE,CAAS;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,OAAgC,EAAE;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC/E,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,UAAU,CAAC,MAAkB;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5D,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,UAAU,CAAC,KAAiB;QAC1B,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAA6B;QAClC,KAAK,CAAC,EAAE,CAAC,CAAC;QACV,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;gBAAE,SAAS;YAC5C,8EAA8E;YAC9E,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;YACzC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAe;QACnB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,IAAI;YAAE,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC1E,CAAC;CACF"}
1
+ {"version":3,"file":"ndjson.js","sourceRoot":"","sources":["../../src/agent/ndjson.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -11,6 +11,7 @@ export interface InitOptions {
11
11
  yes: boolean;
12
12
  resume: boolean;
13
13
  dryRun: boolean;
14
+ confirm: boolean;
14
15
  apiKey?: string;
15
16
  provisionKey?: string;
16
17
  noInject: boolean;
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAInD,CAAC;AAsCF,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAiBD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,CA6FrD;AAMD,wBAAgB,QAAQ,IAAI,MAAM,CAEjC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAOnD,CAAC;AAgDF,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAkBD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,CAkGrD;AAMD,wBAAgB,QAAQ,IAAI,MAAM,CAEjC"}
package/dist/cli.js CHANGED
@@ -7,7 +7,10 @@ import { CliError, ExitCode } from "./exit-codes.js";
7
7
  export const REGION_BASE_URLS = {
8
8
  prod: "https://my.sealmetrics.com/api/v1",
9
9
  pre: "https://pre.sealmetrics.com/api/v1",
10
- local: "http://localhost:8000/api/v1",
10
+ // Local dev exposes the API replicas on host ports 8001-8004 (docker-compose
11
+ // maps API_PORT_1=8001→8000); the dashboard talks to :8001 too. Nothing listens
12
+ // on host :8000, so the CLI's `--region local` must target :8001.
13
+ local: "http://localhost:8001/api/v1",
11
14
  };
12
15
  const DEFAULT_BASE_URL = REGION_BASE_URLS.prod;
13
16
  const HELP = `sealmetrics init — provision a free analytics account and wire up tracking
@@ -18,8 +21,9 @@ Usage:
18
21
  Provisioning:
19
22
  --email <email> Account owner email (required to provision)
20
23
  --name <name> Owner name
21
- --site-name <name> Site display name
22
- --domain <domain> Site domain (e.g. myshop.com)
24
+ --site-name <name> Site display name (required to provision; not guessed)
25
+ --domain <domain> Site domain, e.g. myshop.com (required — without it the
26
+ pixel records no data)
23
27
  --accept-tos Accept the Terms of Service (required to provision)
24
28
  --install-source <src> Attribution channel (default: npx)
25
29
  --api-key <key> Reuse an existing read-only key; skips provisioning
@@ -30,8 +34,14 @@ Targeting:
30
34
  --base-url <url> Override the API base URL (wins over --region)
31
35
  --url <url> Site URL used for verify auto-ping
32
36
 
37
+ Env: SEALMETRICS_BASE_URL overrides the default target (below --base-url/--region);
38
+ SEALMETRICS_PROVISION_KEY overrides the embedded publishable provision key.
39
+
33
40
  Behaviour:
34
41
  --agent Machine mode: NDJSON on stdout, auto-approve, no prompts
42
+ --confirm Confirm provisioning. In --agent the first run only
43
+ PREVIEWS (emits a confirm event + exit 6, creates
44
+ nothing); re-run with --confirm to actually provision
35
45
  -y, --yes Non-interactive (use flags/defaults, no prompts)
36
46
  --resume Resume from the last checkpoint (no re-provision)
37
47
  --dry-run Detect only — no provisioning, no writes
@@ -42,6 +52,9 @@ Behaviour:
42
52
 
43
53
  -h, --help Show this help
44
54
  -v, --version Show version
55
+
56
+ Agents: the --agent NDJSON contract (events, exit codes, the confirm gate) is in
57
+ PROTOCOL.md, bundled in this package. Honor it; key rules also ride in the stream.
45
58
  `;
46
59
  const BOOLEAN_FLAGS = new Set([
47
60
  "--accept-tos",
@@ -50,6 +63,7 @@ const BOOLEAN_FLAGS = new Set([
50
63
  "-y",
51
64
  "--resume",
52
65
  "--dry-run",
66
+ "--confirm",
53
67
  "--no-inject",
54
68
  "--no-mcp",
55
69
  "-h",
@@ -105,8 +119,12 @@ export function parseArgs(argv) {
105
119
  hint: `Valid regions: ${Object.keys(REGION_BASE_URLS).join(", ")}`,
106
120
  });
107
121
  }
122
+ // Precedence: --base-url > --region > SEALMETRICS_BASE_URL env > prod default.
123
+ // The env var (same name the mcp-server reads) lets a dev export the target
124
+ // once instead of passing --region on every invocation (local testing).
108
125
  const baseUrl = strOf(raw["--base-url"]) ??
109
126
  (region ? REGION_BASE_URLS[region] : undefined) ??
127
+ (process.env.SEALMETRICS_BASE_URL || undefined) ??
110
128
  DEFAULT_BASE_URL;
111
129
  let verifyTimeout = 75;
112
130
  const vt = strOf(raw["--verify-timeout"]);
@@ -137,6 +155,7 @@ export function parseArgs(argv) {
137
155
  yes: raw["--yes"] === true || raw["-y"] === true,
138
156
  resume: raw["--resume"] === true,
139
157
  dryRun: raw["--dry-run"] === true,
158
+ confirm: raw["--confirm"] === true,
140
159
  apiKey: strOf(raw["--api-key"]),
141
160
  provisionKey: strOf(raw["--provision-key"]),
142
161
  noInject: raw["--no-inject"] === true,
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,17 @@
1
1
  import { type ExitCodeValue } from "../exit-codes.js";
2
- import type { InitOptions } from "../cli.js";
2
+ import { type InitOptions } from "../cli.js";
3
3
  import type { Reporter } from "../agent/ndjson.js";
4
+ /** A local/PRE target only seeds the fallback provision key, not the prod npx key. */
5
+ export declare function isNonProdTarget(baseUrl: string): boolean;
6
+ /**
7
+ * Resolve the provision key: explicit flag > `SEALMETRICS_PROVISION_KEY` env >
8
+ * auto-fallback for local/PRE targets > embedded prod key. The auto-fallback lets
9
+ * dev testing work without exporting the env var; it never applies to prod.
10
+ */
11
+ export declare function resolveProvisionKey(options: InitOptions): string;
4
12
  export declare function runInit(options: InitOptions, reporter: Reporter): Promise<ExitCodeValue>;
13
+ /** Suggested owner email from the local git config (read-only, best-effort). */
14
+ export declare function suggestEmail(cwd: string): string | undefined;
15
+ /** Suggested site name: package.json name (sans npm scope) or the directory name. */
16
+ export declare function suggestSiteName(cwd: string): string | undefined;
5
17
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAUA,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAyBnD,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAqS9F"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAUA,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,KAAK,WAAW,EAAoB,MAAM,WAAW,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AA8BnD,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAMhE;AAED,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CA0U9F;AA8JD,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAY5D;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAa/D"}
@@ -9,8 +9,9 @@
9
9
  */
10
10
  import { homedir } from "node:os";
11
11
  import { CliError, ExitCode } from "../exit-codes.js";
12
+ import { REGION_BASE_URLS } from "../cli.js";
12
13
  import { ApiClient, EmailExistsError } from "../api/client.js";
13
- import { EMBEDDED_PROVISION_KEY } from "../embedded.js";
14
+ import { EMBEDDED_PROVISION_KEY, FALLBACK_PROVISION_KEY } from "../embedded.js";
14
15
  import { detect } from "../detect/index.js";
15
16
  import { PLATFORM_PLUGIN_HINT } from "../detect/cms.js";
16
17
  import { isSnippetPresent, buildInstallMarkdown } from "../handoff/install.js";
@@ -22,18 +23,66 @@ import { configureMcp } from "../mcp/configure.js";
22
23
  import { writeInstrumentationGuide } from "../instrument/guide.js";
23
24
  import { pollPixelStatus, autoPing } from "../verify/pixel.js";
24
25
  import { ReadlinePrompter } from "../prompts.js";
25
- import { join, relative } from "node:path";
26
+ import { basename, join, relative } from "node:path";
27
+ import { readFileSync } from "node:fs";
28
+ import { execFileSync } from "node:child_process";
26
29
  import { getVersion } from "../version.js";
27
30
  const PLACEHOLDER_ACCOUNT_ID = "<account_id>";
31
+ /** Terms of Service URL — shown so the human can read them before accepting. */
32
+ const TOS_URL = "https://sealmetrics.com/terms";
33
+ /** A local/PRE target only seeds the fallback provision key, not the prod npx key. */
34
+ export function isNonProdTarget(baseUrl) {
35
+ return /\/\/(localhost|127\.0\.0\.1|pre\.sealmetrics\.com)/.test(baseUrl);
36
+ }
37
+ /**
38
+ * Resolve the provision key: explicit flag > `SEALMETRICS_PROVISION_KEY` env >
39
+ * auto-fallback for local/PRE targets > embedded prod key. The auto-fallback lets
40
+ * dev testing work without exporting the env var; it never applies to prod.
41
+ */
42
+ export function resolveProvisionKey(options) {
43
+ if (options.provisionKey)
44
+ return options.provisionKey;
45
+ const env = process.env.SEALMETRICS_PROVISION_KEY;
46
+ if (env)
47
+ return env;
48
+ if (isNonProdTarget(options.baseUrl))
49
+ return FALLBACK_PROVISION_KEY;
50
+ return EMBEDDED_PROVISION_KEY;
51
+ }
28
52
  export async function runInit(options, reporter) {
29
53
  const interactive = !options.agent && !options.yes;
30
54
  const cwd = options.cwd;
31
- reporter.lifecycle("start", { version: getVersion() });
55
+ // In-band pointer to the agent contract (the orchestrator parses this first).
56
+ // PROTOCOL.md is bundled in the package, but an orchestrator won't read it on
57
+ // its own — so the key rules ride here too, where they're guaranteed to be seen.
58
+ reporter.lifecycle("start", {
59
+ version: getVersion(),
60
+ protocol_doc: "PROTOCOL.md (bundled in this package)",
61
+ agent_contract: "Honor exit codes and events. needs_input with requires_human MUST be asked to the " +
62
+ "human (never auto-fill or accept on their behalf). On a confirm event, show its exact " +
63
+ "values to the human and only re-run with --confirm after an explicit yes. Success is a " +
64
+ "result event with an account_id and exit 0; exit 6 means confirmation needed (not a " +
65
+ "failure); any error event or other non-zero exit is a failure — never report success that " +
66
+ "didn't happen.",
67
+ });
32
68
  // ---- detect (RF-301/302/304/305) ----
33
69
  const detection = detect(cwd, { noInject: options.noInject });
34
70
  emitDetected(reporter, detection);
35
71
  // ---- dry-run: detect only, no provision, no writes (RF-104) ----
36
72
  if (options.dryRun) {
73
+ // Surface the inputs a real run will need (email/site/ToS/domain), so the
74
+ // orchestrator can ask the human for everything in ONE round from the dry-run
75
+ // "plan" — instead of discovering them across runs. No suggestions here on
76
+ // purpose (see reportMissingProvisionInputs). Skipped when --api-key is set
77
+ // (that path doesn't provision).
78
+ if (!options.apiKey) {
79
+ reportMissingProvisionInputs(reporter, {
80
+ email: options.email,
81
+ siteName: options.siteName,
82
+ domain: options.domain,
83
+ acceptTos: options.acceptTos,
84
+ });
85
+ }
37
86
  reporter.result({
38
87
  dry_run: true,
39
88
  framework: detection.framework,
@@ -42,6 +91,9 @@ export async function runInit(options, reporter) {
42
91
  placement_hint: detection.placementHint,
43
92
  account_id: PLACEHOLDER_ACCOUNT_ID,
44
93
  would_provision: !options.apiKey,
94
+ // Surfaced even on dry-run so the orchestrator can show the ToS link when it
95
+ // asks the human to accept (provisioning requires --accept-tos).
96
+ terms_url: TOS_URL,
45
97
  });
46
98
  return ExitCode.OK;
47
99
  }
@@ -69,7 +121,7 @@ export async function runInit(options, reporter) {
69
121
  confirm,
70
122
  });
71
123
  // Register both secrets up front so neither can leak into a diff (VAL-404).
72
- writer.addSecret(options.provisionKey ?? EMBEDDED_PROVISION_KEY);
124
+ writer.addSecret(resolveProvisionKey(options));
73
125
  if (options.apiKey)
74
126
  writer.addSecret(options.apiKey);
75
127
  const checkpoint = makeCheckpoint(cwd, options);
@@ -105,11 +157,13 @@ export async function runInit(options, reporter) {
105
157
  reporter.lifecycle("reused", { account_id: accountId });
106
158
  }
107
159
  else {
108
- provision = await doProvision(options, reporter, interactive, prompter);
109
- if (provision === null) {
110
- // EmailExists informative path already reported; exit 0 (RF-402).
111
- return ExitCode.OK;
160
+ const result = await doProvision(options, reporter, interactive, prompter);
161
+ if ("stop" in result) {
162
+ // Early stop without provisioning: email-exists/declined (exit 0) or the
163
+ // two-phase confirm gate (exit 6). The event was already reported.
164
+ return result.stop;
112
165
  }
166
+ provision = result;
113
167
  accountId = provision.account_id;
114
168
  apiKey = provision.api_key;
115
169
  writer.addSecret(apiKey); // VAL-404: never echo the key into a diff.
@@ -236,7 +290,7 @@ export async function runInit(options, reporter) {
236
290
  // ---- verify-pixel (Bloque 6) ----
237
291
  let verified = null;
238
292
  if (options.verifyTimeout > 0) {
239
- const client = new ApiClient(options.baseUrl, options.provisionKey ?? EMBEDDED_PROVISION_KEY);
293
+ const client = new ApiClient(options.baseUrl, resolveProvisionKey(options));
240
294
  const localPresent = detection.provisionOnly || detection.platform
241
295
  ? false
242
296
  : alreadyInstalled || isSnippetPresent(cwd, accountId);
@@ -254,17 +308,21 @@ export async function runInit(options, reporter) {
254
308
  timeoutSec: options.verifyTimeout,
255
309
  reporter,
256
310
  });
257
- verified = res.verified;
311
+ verified = res.verified; // true (confirmed) | false (placed but timed out)
258
312
  }
259
313
  else {
260
- verified = false;
314
+ // Nothing to verify yet (provision-only / snippet not placed, no --url).
315
+ // Provisioning SUCCEEDED — this is "pending", NOT a verify failure: leave
316
+ // verified=null so it stays exit 0 (only a real polled timeout → exit 5).
317
+ verified = null;
261
318
  }
262
319
  if (verified === true) {
263
320
  reporter.lifecycle("verified:pixel");
264
321
  checkpoint.last_step = "verified_pixel";
265
322
  }
266
- else if (verified === false) {
267
- reporter.lifecycle("verify:pending");
323
+ else {
324
+ // false = polled but no hit in time; null = nothing placed to verify yet.
325
+ reporter.lifecycle("verify:pending", verified === null ? { reason: "snippet_not_placed" } : {});
268
326
  nextSteps.push("Deploy/reload your site and visit a page, then re-run `npx sealmetrics init --resume`.");
269
327
  }
270
328
  }
@@ -281,8 +339,10 @@ export async function runInit(options, reporter) {
281
339
  verified,
282
340
  next_steps: provision?.next_steps?.length ? provision.next_steps : nextSteps,
283
341
  });
284
- // RF-602: snippet placed but pixel not confirmed in time → exit 5 in agent
285
- // mode (verify-failed); a soft warning in interactive (site may be undeployed).
342
+ // RF-602: snippet WAS placed but the pixel didn't confirm in time → exit 5 in
343
+ // agent mode (verify-failed); soft warning interactive. Only `false` (a real
344
+ // polled timeout) counts — `null` (nothing to verify yet) stays exit 0, since
345
+ // provisioning itself succeeded.
286
346
  if (verified === false && options.verifyTimeout > 0) {
287
347
  if (reporter.agent)
288
348
  return ExitCode.VERIFY_FAILED;
@@ -300,41 +360,90 @@ async function doProvision(options, reporter, interactive, prompter) {
300
360
  let siteName = options.siteName;
301
361
  let domain = options.domain;
302
362
  let acceptTos = options.acceptTos;
363
+ // Best-effort suggestions so a missing field comes pre-filled with a sensible
364
+ // default (the human/orchestrator confirms or overrides) — the email from the
365
+ // local git config, the site name from package.json/the directory. Computed
366
+ // only when the field is absent (skips the git/fs probes when flags provide it).
367
+ const suggestedEmail = email ? undefined : suggestEmail(options.cwd);
368
+ const suggestedSiteName = siteName ? undefined : suggestSiteName(options.cwd);
303
369
  if (interactive && prompter) {
370
+ // Ask explicitly — never guess from the email domain (the user's complaint).
371
+ // email, domain and site name are all required (without a domain the pixel
372
+ // records nothing).
304
373
  if (!email)
305
- email = await prompter.ask("Email");
306
- if (!siteName)
307
- siteName = await prompter.ask("Site name", domain ?? "My site");
374
+ email = await askRequired(prompter, "Email", suggestedEmail);
308
375
  if (!domain)
309
- domain = await prompter.ask("Domain (optional)", "");
310
- if (!acceptTos)
376
+ domain = await askRequired(prompter, "Domain (e.g. myshop.com)");
377
+ if (!siteName) {
378
+ // "Site name" (user-facing wording per CLAUDE.md), matches --site-name / the
379
+ // site_name needs_input id.
380
+ siteName = await askRequired(prompter, "Site name", suggestedSiteName ?? domain);
381
+ }
382
+ if (!acceptTos) {
383
+ reporter.info(`Read the Terms of Service: ${TOS_URL}`);
311
384
  acceptTos = await prompter.confirm("Accept the Terms of Service?", false);
385
+ }
312
386
  }
313
- // RF-103 / TEST-402: in --agent/-y missing obligatorios exit 2; accept-tos
314
- // is mandatory and is NEVER auto-accepted (the human must opt in via the flag).
315
- if (!email) {
316
- throw new CliError(ExitCode.ARGS, "invalid_args", "Missing required --email.", {
317
- hint: "Pass --email <email> (and --accept-tos).",
387
+ // RF-103 / RF-203 / TEST-402: validate the required fields. Interactive mode
388
+ // already prompted them (email + site name loop until non-empty), so the only
389
+ // failure left there is a declined ToS. In --agent/-y the CLI can't prompt on
390
+ // stdin: instead of guessing (no site name from the email domain) it tells the
391
+ // orchestrator WHICH fields to collect from the human — a `needs_input` event
392
+ // WITHOUT a `resolved` value means "ask the human" — then exits 2 so the agent
393
+ // asks and re-invokes with the flags. The ToS is NEVER auto-accepted.
394
+ if (!email || !siteName || !acceptTos || !domain) {
395
+ // Interactive already prompted email/domain/site (loop until non-empty), so the
396
+ // only way to land here is a declined ToS.
397
+ if (interactive) {
398
+ throw new CliError(ExitCode.ARGS, "invalid_args", "You must accept the Terms of Service to provision.", {
399
+ hint: `Read them at ${TOS_URL} and accept to continue.`,
400
+ });
401
+ }
402
+ // --agent/-y: the CLI can't prompt on stdin — it tells the orchestrator which
403
+ // fields to collect from the human (needs_input, no `resolved`/`default`) and
404
+ // exits 2 so the agent asks and re-invokes with the flags.
405
+ const missing = reportMissingProvisionInputs(reporter, { email, siteName, domain, acceptTos });
406
+ throw new CliError(ExitCode.ARGS, "invalid_args", `Missing required input: ${missing.join(", ")}.`, {
407
+ hint: `Ask the user for these, then re-run with: ${missing.join(" ")}`,
318
408
  });
319
409
  }
320
- if (!acceptTos) {
321
- throw new CliError(ExitCode.ARGS, "invalid_args", "You must accept the Terms of Service.", {
322
- hint: "Pass --accept-tos to provision an account.",
323
- });
410
+ // Two-phase commit (confirm before sending). Show EXACTLY what will be created
411
+ // and require explicit approval before anything is provisioned or written:
412
+ // - interactive a summary + [Y/n] prompt;
413
+ // - --agent → emit a `confirm` event with the full payload and exit 6; nothing
414
+ // is created — the orchestrator MUST show it and re-run with --confirm;
415
+ // - -y (non-interactive scripting, not --agent) → the flags are the consent.
416
+ if (!options.confirm) {
417
+ if (interactive && prompter) {
418
+ reporter.info("\nAbout to create a SealMetrics account with:");
419
+ reporter.info(` Email: ${email}`);
420
+ reporter.info(` Site name: ${siteName}`);
421
+ reporter.info(` Domain: ${domain}`);
422
+ const ok = await prompter.confirm("Create the account with these details?", true);
423
+ if (!ok) {
424
+ reporter.info("Aborted — no account created.");
425
+ return { stop: ExitCode.OK };
426
+ }
427
+ }
428
+ else if (options.agent) {
429
+ reporter.confirm({
430
+ action: "create_free_account",
431
+ email,
432
+ site_name: siteName,
433
+ domain,
434
+ accept_tos: acceptTos,
435
+ base_url: options.baseUrl,
436
+ message: "Nothing has been created yet. Show these exact values to the user and, " +
437
+ "only on an explicit yes, re-run with --confirm. Do not assume approval.",
438
+ reinvoke_with: buildConfirmCommand(options, email, siteName, domain),
439
+ });
440
+ return { stop: ExitCode.CONFIRM_REQUIRED };
441
+ }
442
+ // -y without --agent: flags are the consent → proceed.
324
443
  }
325
- const provisionKey = options.provisionKey ?? EMBEDDED_PROVISION_KEY;
444
+ const provisionKey = resolveProvisionKey(options);
326
445
  const client = new ApiClient(options.baseUrl, provisionKey);
327
- const finalSiteName = siteName ?? domain ?? email.split("@")[1] ?? "My site";
328
- // RF-203: in --agent/-y a missing optional field is auto-resolved (never blocks
329
- // on stdin); report the prompt + its resolution so the orchestrator can render it.
330
- if (!interactive && !siteName) {
331
- reporter.needsInput({
332
- id: "site_name",
333
- prompt: "Site name",
334
- default: finalSiteName,
335
- resolved: finalSiteName,
336
- });
337
- }
446
+ const finalSiteName = siteName;
338
447
  try {
339
448
  const input = {
340
449
  siteName: finalSiteName,
@@ -364,11 +473,127 @@ async function doProvision(options, reporter, interactive, prompter) {
364
473
  "If you already have an account, log in or reset your password to add a site.",
365
474
  ],
366
475
  });
367
- return null;
476
+ return { stop: ExitCode.OK };
368
477
  }
369
478
  throw e;
370
479
  }
371
480
  }
481
+ /** Re-invocation command for the confirm gate: same call + the resolved values + --confirm. */
482
+ function buildConfirmCommand(options, email, siteName, domain) {
483
+ const parts = [
484
+ "sealmetrics init --agent",
485
+ `--email ${JSON.stringify(email)}`,
486
+ `--site-name ${JSON.stringify(siteName)}`,
487
+ `--domain ${JSON.stringify(domain)}`,
488
+ ];
489
+ // Preserve the target so re-running the command verbatim hits the same backend
490
+ // (otherwise it would default to PROD even if this run used --region local).
491
+ if (options.region)
492
+ parts.push(`--region ${options.region}`);
493
+ else if (options.baseUrl !== REGION_BASE_URLS.prod)
494
+ parts.push(`--base-url ${JSON.stringify(options.baseUrl)}`);
495
+ parts.push("--accept-tos", "--confirm");
496
+ return parts.join(" ");
497
+ }
498
+ /** Suggested owner email from the local git config (read-only, best-effort). */
499
+ export function suggestEmail(cwd) {
500
+ try {
501
+ const email = execFileSync("git", ["config", "user.email"], {
502
+ cwd,
503
+ encoding: "utf8",
504
+ stdio: ["ignore", "pipe", "ignore"],
505
+ timeout: 2000,
506
+ }).trim();
507
+ return email || undefined;
508
+ }
509
+ catch {
510
+ return undefined; // no git / no email configured
511
+ }
512
+ }
513
+ /** Suggested site name: package.json name (sans npm scope) or the directory name. */
514
+ export function suggestSiteName(cwd) {
515
+ try {
516
+ const pkg = JSON.parse(readFileSync(join(cwd, "package.json"), "utf8"));
517
+ if (typeof pkg.name === "string" && pkg.name.trim()) {
518
+ const stripped = pkg.name.replace(/^@[^/]+\//, "").trim();
519
+ // Ignore a malformed bare scope (e.g. "@scope" with no slash) → fall back.
520
+ if (stripped && !stripped.startsWith("@"))
521
+ return stripped;
522
+ }
523
+ }
524
+ catch {
525
+ /* no package.json / unreadable / no name — fall back to the dir name */
526
+ }
527
+ const base = basename(cwd);
528
+ return base && base !== "." && base !== "/" ? base : undefined;
529
+ }
530
+ /**
531
+ * Emit a `needs_input` (no `resolved` = "ask the human") for each provisioning
532
+ * field the flags didn't supply. Used by BOTH `--dry-run` (so the orchestrator
533
+ * learns every input up front and can ask for them in one round) and the real
534
+ * provision when required fields are missing. Returns the missing REQUIRED flags
535
+ * (all four — email, site_name, accept_tos, domain — are required).
536
+ *
537
+ * NOTE: deliberately emits **no `default`/suggestion** for the agent path. A
538
+ * suggested value tempts the orchestrator to auto-fill it (e.g. the site name
539
+ * from the directory) instead of asking the human — exactly the bug this avoids.
540
+ * Suggestions live only in the interactive prompts, where the human is actually
541
+ * asked and just presses enter to accept.
542
+ */
543
+ function reportMissingProvisionInputs(reporter, fields) {
544
+ // `requires_human: true` (and no `resolved`/`default`) tells the orchestrator it
545
+ // MUST ask the human and MUST NOT auto-resolve/guess/accept — overriding the
546
+ // --agent auto-approve.
547
+ const missing = [];
548
+ if (!fields.email) {
549
+ reporter.needsInput({ id: "email", prompt: "Account owner email", requires_human: true });
550
+ missing.push("--email <email>");
551
+ }
552
+ if (!fields.siteName) {
553
+ reporter.needsInput({
554
+ id: "site_name",
555
+ prompt: "Site name (the display name of the site to create)",
556
+ requires_human: true,
557
+ });
558
+ missing.push('--site-name "<name>"');
559
+ }
560
+ if (!fields.acceptTos) {
561
+ reporter.needsInput({
562
+ id: "accept_tos",
563
+ prompt: `Accept the Terms of Service (read them at ${TOS_URL})? Do not accept on the user's behalf.`,
564
+ options: ["yes", "no"],
565
+ requires_human: true,
566
+ });
567
+ missing.push("--accept-tos");
568
+ }
569
+ // Domain is REQUIRED: the pixel rejects hits from unregistered domains, so an
570
+ // account with no domain records nothing — a dead account. Treat it like the
571
+ // other required fields (missing → exit 2).
572
+ if (!fields.domain) {
573
+ reporter.needsInput({
574
+ id: "domain",
575
+ prompt: "Site domain (e.g. myshop.com) — required; without it the pixel records no data",
576
+ requires_human: true,
577
+ });
578
+ missing.push("--domain <domain>");
579
+ }
580
+ return missing;
581
+ }
582
+ /**
583
+ * Ask until the user gives a non-empty answer (used for required fields). Bounded
584
+ * so a closed/piped stdin (readline resolves "" on EOF) can't spin forever — after
585
+ * `maxAttempts` empty answers it errors with exit 2 instead of hanging.
586
+ */
587
+ async function askRequired(prompter, label, def, maxAttempts = 5) {
588
+ for (let i = 0; i < maxAttempts; i++) {
589
+ const answer = (await prompter.ask(label, def)).trim();
590
+ if (answer)
591
+ return answer;
592
+ }
593
+ throw new CliError(ExitCode.ARGS, "invalid_args", `No value provided for "${label}".`, {
594
+ hint: "Provide it as a flag (e.g. --email / --site-name) or answer the prompt.",
595
+ });
596
+ }
372
597
  function buildReinvokeCommand(options, email) {
373
598
  const parts = ["npx sealmetrics init", "--provision-key <YOUR_KEY>", `--email ${email}`, "--accept-tos"];
374
599
  if (options.siteName)
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,13 @@
13
13
  * the PROD key doesn't exist — use `pk_provision_fallback`, seeded everywhere).
14
14
  */
15
15
  export declare const EMBEDDED_PROVISION_KEY: string;
16
+ /**
17
+ * Publishable fallback key seeded in **non-prod** DBs (local/PRE) but NOT in PROD.
18
+ * Used automatically when targeting a local/PRE base URL with no explicit key, so
19
+ * dev testing "just works" without exporting `SEALMETRICS_PROVISION_KEY`. Harmless
20
+ * in PROD: it isn't applied there and wouldn't validate anyway.
21
+ */
22
+ export declare const FALLBACK_PROVISION_KEY = "pk_provision_fallback";
16
23
  /** Marker comment placed alongside the snippet so re-runs detect prior installs (RF-503). */
17
24
  export declare const SNIPPET_MARKER = "<!-- Sealmetrics Analytics -->";
18
25
  /** The pixel host the snippet loads from (informative; the real snippet comes from /provision). */
@@ -1 +1 @@
1
- {"version":3,"file":"embedded.d.ts","sourceRoot":"","sources":["../src/embedded.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB,QACyC,CAAC;AAE7E,6FAA6F;AAC7F,eAAO,MAAM,cAAc,mCAAmC,CAAC;AAE/D,mGAAmG;AACnG,eAAO,MAAM,UAAU,8BAA8B,CAAC"}
1
+ {"version":3,"file":"embedded.d.ts","sourceRoot":"","sources":["../src/embedded.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB,QACyC,CAAC;AAE7E;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAE9D,6FAA6F;AAC7F,eAAO,MAAM,cAAc,mCAAmC,CAAC;AAE/D,mGAAmG;AACnG,eAAO,MAAM,UAAU,8BAA8B,CAAC"}
package/dist/embedded.js CHANGED
@@ -13,6 +13,13 @@
13
13
  * the PROD key doesn't exist — use `pk_provision_fallback`, seeded everywhere).
14
14
  */
15
15
  export const EMBEDDED_PROVISION_KEY = process.env.SEALMETRICS_PROVISION_KEY ?? "pk_npx_7da006b47d5f4b86c2dc0f1b";
16
+ /**
17
+ * Publishable fallback key seeded in **non-prod** DBs (local/PRE) but NOT in PROD.
18
+ * Used automatically when targeting a local/PRE base URL with no explicit key, so
19
+ * dev testing "just works" without exporting `SEALMETRICS_PROVISION_KEY`. Harmless
20
+ * in PROD: it isn't applied there and wouldn't validate anyway.
21
+ */
22
+ export const FALLBACK_PROVISION_KEY = "pk_provision_fallback";
16
23
  /** Marker comment placed alongside the snippet so re-runs detect prior installs (RF-503). */
17
24
  export const SNIPPET_MARKER = "<!-- Sealmetrics Analytics -->";
18
25
  /** The pixel host the snippet loads from (informative; the real snippet comes from /provision). */
@@ -1 +1 @@
1
- {"version":3,"file":"embedded.js","sourceRoot":"","sources":["../src/embedded.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,sBAAsB,GACjC,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,iCAAiC,CAAC;AAE7E,6FAA6F;AAC7F,MAAM,CAAC,MAAM,cAAc,GAAG,gCAAgC,CAAC;AAE/D,mGAAmG;AACnG,MAAM,CAAC,MAAM,UAAU,GAAG,2BAA2B,CAAC"}
1
+ {"version":3,"file":"embedded.js","sourceRoot":"","sources":["../src/embedded.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,sBAAsB,GACjC,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,iCAAiC,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAE9D,6FAA6F;AAC7F,MAAM,CAAC,MAAM,cAAc,GAAG,gCAAgC,CAAC;AAE/D,mGAAmG;AACnG,MAAM,CAAC,MAAM,UAAU,GAAG,2BAA2B,CAAC"}
@@ -8,6 +8,7 @@
8
8
  * re-invocation command)
9
9
  * 4 network / backend unavailable / rate-limited / kill-switch (503)
10
10
  * 5 verify-failed (snippet placed but pixel did not confirm within timeout)
11
+ * 6 confirm-required (--agent two-phase: payload previewed, re-run with --confirm)
11
12
  * 130 cancelled (SIGINT)
12
13
  */
13
14
  export declare const ExitCode: {
@@ -16,6 +17,7 @@ export declare const ExitCode: {
16
17
  readonly AUTH_REQUIRED: 3;
17
18
  readonly NETWORK: 4;
18
19
  readonly VERIFY_FAILED: 5;
20
+ readonly CONFIRM_REQUIRED: 6;
19
21
  readonly CANCELLED: 130;
20
22
  };
21
23
  export type ExitCodeValue = (typeof ExitCode)[keyof typeof ExitCode];
@@ -1 +1 @@
1
- {"version":3,"file":"exit-codes.d.ts","sourceRoot":"","sources":["../src/exit-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,QAAQ;;;;;;;CAOX,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAErE,gFAAgF;AAChF,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,qFAAqF;IACrF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAGvC,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE;CAS5D"}
1
+ {"version":3,"file":"exit-codes.d.ts","sourceRoot":"","sources":["../src/exit-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ;;;;;;;;CAQX,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAErE,gFAAgF;AAChF,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,qFAAqF;IACrF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAGvC,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE;CAS5D"}
@@ -8,6 +8,7 @@
8
8
  * re-invocation command)
9
9
  * 4 network / backend unavailable / rate-limited / kill-switch (503)
10
10
  * 5 verify-failed (snippet placed but pixel did not confirm within timeout)
11
+ * 6 confirm-required (--agent two-phase: payload previewed, re-run with --confirm)
11
12
  * 130 cancelled (SIGINT)
12
13
  */
13
14
  export const ExitCode = {
@@ -16,6 +17,7 @@ export const ExitCode = {
16
17
  AUTH_REQUIRED: 3,
17
18
  NETWORK: 4,
18
19
  VERIFY_FAILED: 5,
20
+ CONFIRM_REQUIRED: 6,
19
21
  CANCELLED: 130,
20
22
  };
21
23
  /** Error thrown internally to short-circuit the flow with a known exit code. */
@@ -1 +1 @@
1
- {"version":3,"file":"exit-codes.js","sourceRoot":"","sources":["../src/exit-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,CAAC;IACP,aAAa,EAAE,CAAC;IAChB,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,SAAS,EAAE,GAAG;CACN,CAAC;AAIX,gFAAgF;AAChF,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,QAAQ,CAAgB;IACxB,IAAI,CAAS;IACb,IAAI,CAAU;IACvB,qFAAqF;IAC5E,KAAK,CAA2B;IAEzC,YACE,QAAuB,EACvB,IAAY,EACZ,OAAe,EACf,IAAyD;QAEzD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACpD,IAAI,IAAI,EAAE,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzD,CAAC;CACF"}
1
+ {"version":3,"file":"exit-codes.js","sourceRoot":"","sources":["../src/exit-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,CAAC;IACP,aAAa,EAAE,CAAC;IAChB,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,gBAAgB,EAAE,CAAC;IACnB,SAAS,EAAE,GAAG;CACN,CAAC;AAIX,gFAAgF;AAChF,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,QAAQ,CAAgB;IACxB,IAAI,CAAS;IACb,IAAI,CAAU;IACvB,qFAAqF;IAC5E,KAAK,CAA2B;IAEzC,YACE,QAAuB,EACvB,IAAY,EACZ,OAAe,EACf,IAAyD;QAEzD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACpD,IAAI,IAAI,EAAE,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzD,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sealmetrics",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "SealMetrics setup CLI — provision a free analytics account, place the tracker, and auto-configure the MCP server in one turn",
5
5
  "author": "SealMetrics <dev@sealmetrics.com> (https://sealmetrics.com)",
6
6
  "homepage": "https://github.com/adinton/sealmetrics2/tree/main/cli#readme",