open-research-protocol 0.4.0 → 0.4.2

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/cli/orp.py CHANGED
@@ -104,7 +104,7 @@ ORP_TOOL_VERSION = _tool_version()
104
104
  ORP_PACKAGE_NAME = _tool_package_name()
105
105
  DEFAULT_DISCOVER_PROFILE = "orp.profile.default.json"
106
106
  DEFAULT_DISCOVER_SCAN_ROOT = "orp/discovery/github"
107
- DEFAULT_HOSTED_BASE_URL = "https://codacli.com"
107
+ DEFAULT_HOSTED_BASE_URL = "https://orp.earth"
108
108
 
109
109
 
110
110
  class HostedApiError(RuntimeError):
@@ -279,6 +279,14 @@ def _prompt_value(label: str, *, secret: bool = False) -> str:
279
279
  return input(f"{label}: ").strip()
280
280
 
281
281
 
282
+ def _read_value_from_stdin() -> str:
283
+ try:
284
+ raw = sys.stdin.read()
285
+ except Exception:
286
+ return ""
287
+ return raw.rstrip("\r\n")
288
+
289
+
282
290
  def _session_summary(session: dict[str, Any]) -> dict[str, Any]:
283
291
  user = session.get("user") if isinstance(session.get("user"), dict) else None
284
292
  pending = session.get("pending_verification")
@@ -3588,7 +3596,12 @@ def cmd_auth_login(args: argparse.Namespace) -> int:
3588
3596
  if not email:
3589
3597
  raise RuntimeError("Email is required.")
3590
3598
 
3599
+ password_from_stdin = bool(getattr(args, "password_stdin", False))
3591
3600
  password = str(getattr(args, "password", "")).strip()
3601
+ if password_from_stdin and password:
3602
+ raise RuntimeError("Use either --password or --password-stdin, not both.")
3603
+ if password_from_stdin:
3604
+ password = _read_value_from_stdin()
3592
3605
  if not password:
3593
3606
  password = _prompt_value("Password", secret=True)
3594
3607
  if not password:
@@ -3647,7 +3660,12 @@ def cmd_auth_verify(args: argparse.Namespace) -> int:
3647
3660
  if not email:
3648
3661
  raise RuntimeError("Email is required.")
3649
3662
 
3663
+ code_from_stdin = bool(getattr(args, "code_stdin", False))
3650
3664
  code = str(getattr(args, "code", "")).strip()
3665
+ if code_from_stdin and code:
3666
+ raise RuntimeError("Use either --code or --code-stdin, not both.")
3667
+ if code_from_stdin:
3668
+ code = _read_value_from_stdin()
3651
3669
  if not code:
3652
3670
  code = _prompt_value("Verification code")
3653
3671
  if not code:
@@ -4419,6 +4437,11 @@ def build_parser() -> argparse.ArgumentParser:
4419
4437
  s_auth_login = auth_sub.add_parser("login", help="Start hosted workspace login flow")
4420
4438
  s_auth_login.add_argument("--email", default="", help="Hosted account email")
4421
4439
  s_auth_login.add_argument("--password", default="", help="Hosted account password")
4440
+ s_auth_login.add_argument(
4441
+ "--password-stdin",
4442
+ action="store_true",
4443
+ help="Read the hosted account password from stdin",
4444
+ )
4422
4445
  add_base_url_flag(s_auth_login)
4423
4446
  add_json_flag(s_auth_login)
4424
4447
  s_auth_login.set_defaults(func=cmd_auth_login, json_output=False)
@@ -4426,6 +4449,11 @@ def build_parser() -> argparse.ArgumentParser:
4426
4449
  s_auth_verify = auth_sub.add_parser("verify", help="Complete hosted workspace verification")
4427
4450
  s_auth_verify.add_argument("--email", default="", help="Hosted account email")
4428
4451
  s_auth_verify.add_argument("--code", default="", help="Verification code")
4452
+ s_auth_verify.add_argument(
4453
+ "--code-stdin",
4454
+ action="store_true",
4455
+ help="Read the verification code from stdin",
4456
+ )
4429
4457
  add_base_url_flag(s_auth_verify)
4430
4458
  add_json_flag(s_auth_verify)
4431
4459
  s_auth_verify.set_defaults(func=cmd_auth_verify, json_output=False)
@@ -47,7 +47,7 @@ Use this checklist when releasing ORP as the unified public CLI and product surf
47
47
  - Point old `coda-cli` users toward:
48
48
  - `npm i -g open-research-protocol`
49
49
  - `orp`
50
- - If the legacy `coda-cli` package is still live, deprecate it with a migration note once ORP release is confirmed stable.
50
+ - Legacy `@sproutseeds/coda-cli` package is deprecated with a migration note to `open-research-protocol`.
51
51
 
52
52
  ## 6. Post-release checks
53
53
 
@@ -61,3 +61,4 @@ Use this checklist when releasing ORP as the unified public CLI and product surf
61
61
  - Keep the web app and CLI rollout loosely coupled.
62
62
  - Launch the ORP CLI first if the web app/domain transition is still in progress.
63
63
  - Do not change domain, auth, runner, and package names all in one step unless all staging checks are green.
64
+ - Follow [ORP_WEB_DOMAIN_TRANSITION_PLAN.md](/Users/codymitchell/Documents/code/orp/docs/ORP_WEB_DOMAIN_TRANSITION_PLAN.md) for the hosted cutover sequence.
@@ -0,0 +1,106 @@
1
+ # ORP Web Domain Transition Plan
2
+
3
+ Use this as the rollout record and future reference for the hosted ORP web app domain transition from `codacli.com` to the ORP-aligned domains.
4
+
5
+ ## Target shape
6
+
7
+ - Primary branded domain: `orp.earth`
8
+ - Full-name support domain: `openresearchprotocol.com`
9
+ - Legacy redirect domain: `codacli.com`
10
+
11
+ ## Current live state
12
+
13
+ - CLI/package is already public as:
14
+ - `open-research-protocol`
15
+ - `orp`
16
+ - Hosted app canonical browser host:
17
+ - `https://orp.earth`
18
+ - Support domain:
19
+ - `https://openresearchprotocol.com`
20
+ - Legacy redirect domain:
21
+ - `https://codacli.com`
22
+ - CLI default hosted base URL:
23
+ - `https://orp.earth`
24
+ - Browser redirects are live:
25
+ - `www.orp.earth` -> `orp.earth`
26
+ - `openresearchprotocol.com` -> `orp.earth`
27
+ - `www.openresearchprotocol.com` -> `orp.earth`
28
+ - `codacli.com` -> `orp.earth`
29
+ - `www.codacli.com` -> `orp.earth`
30
+
31
+ ## What is complete
32
+
33
+ - `orp.earth` and `openresearchprotocol.com` are attached to the Vercel project.
34
+ - Namecheap DNS points all new domains at Vercel.
35
+ - `orp.earth` is the canonical browser/app host.
36
+ - Browser traffic from the legacy domains redirects to `orp.earth`.
37
+ - ORP CLI now defaults to `https://orp.earth`.
38
+ - `ORP_BASE_URL` / `CODA_BASE_URL` overrides still work.
39
+
40
+ ## Rollout order
41
+
42
+ ### 1. Domain attachment
43
+
44
+ - Add `orp.earth` and `www.orp.earth` to the Vercel project.
45
+ - Add `openresearchprotocol.com` and `www.openresearchprotocol.com` to the same project.
46
+ - Keep `codacli.com` attached during the transition.
47
+ - Point Namecheap DNS at the Vercel records exactly as issued.
48
+
49
+ ### 2. Canonical browser host
50
+
51
+ - Make `orp.earth` the canonical browser/app host.
52
+ - Update:
53
+ - app metadata
54
+ - canonical URLs
55
+ - OG/Twitter metadata
56
+ - sitemap / robots
57
+ - Treat `openresearchprotocol.com` as a support/canonical-name domain, not necessarily the primary user-facing host.
58
+
59
+ ### 3. Auth and email
60
+
61
+ - Update auth base URLs and callback URLs for `orp.earth`.
62
+ - Update magic-link / verification email links to `orp.earth`.
63
+ - Confirm cookies and session behavior work cleanly on the new canonical host.
64
+ - Avoid running two browser-session domains in parallel longer than necessary.
65
+
66
+ ### 4. Runner / websocket / terminal paths
67
+
68
+ - Inventory every host reference used by:
69
+ - runner
70
+ - websocket
71
+ - TTY / terminal pairing
72
+ - agent worker loops
73
+ - Move those to ORP-aligned hosts only after staging verification.
74
+ - If needed, use dedicated subdomains rather than mixing them into the app host.
75
+
76
+ ### 5. Redirects
77
+
78
+ - Redirect browser traffic from `codacli.com` to `orp.earth`.
79
+ - Keep legacy API/worker compatibility only where needed during transition.
80
+ - Redirect `openresearchprotocol.com` to `orp.earth` unless there is a deliberate reason to keep it browsable.
81
+
82
+ ### 6. CLI cutover
83
+
84
+ - After the hosted app is stable on `orp.earth`, update the CLI default hosted base URL.
85
+ - Keep `ORP_BASE_URL` / `CODA_BASE_URL` overrides working during the transition.
86
+ - Verify:
87
+ - `orp auth login`
88
+ - `orp whoami --json`
89
+ - `orp ideas list --json`
90
+ - `orp world bind ...`
91
+ - `orp checkpoint queue ...`
92
+ - `orp agent work --once --json`
93
+
94
+ ## Verification checklist
95
+
96
+ - `orp.earth` serves the app correctly.
97
+ - Email verification links open on `orp.earth`.
98
+ - Existing users can log in without session confusion.
99
+ - Runner/worker flows still connect and post responses.
100
+ - `codacli.com` redirects cleanly.
101
+ - `openresearchprotocol.com` resolves as intended.
102
+
103
+ ## Rollback
104
+
105
+ - If auth or runner behavior breaks, revert the canonical host before changing the CLI default.
106
+ - Keep `codacli.com` attached until the new host has passed real-user verification.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-research-protocol",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "ORP CLI (Open Research Protocol): agent-friendly research workflows, runtime, reports, and pack tooling.",
5
5
  "license": "MIT",
6
6
  "repository": {