logicsrc/packages/cli/src
Anthony Ettinger cf475f0f4c
Some checks are pending
CI / build (push) Waiting to run
test / test (push) Waiting to run
fix(cli): point logicsrc login at the real app + add device-code login
`logicsrc login` defaulted to http://localhost:4010 — a dev origin that
doesn't exist on an installed machine, so the printed authorize URL went
nowhere. It now defaults to the hosted credentials app (apps/pwa), reads
the documented $LOGICSRC_API, and only reuses a stored apiUrl once that
identity has actually completed a login (which is how machines got stuck
pointing at localhost). Note logicsrc.com is the marketing site and has
no /cli routes.

The loopback flow is also unusable over SSH: redirect_uri is
http://127.0.0.1:<port>/callback, which resolves to the *browser's*
machine, not the CLI's. Added a device-authorization flow — the CLI
prints a short user_code, the human approves it from any browser:

  POST /cli/device/code   mint device_code + user_code (10 min TTL)
  GET  /cli/device        approve page (login required; typo-tolerant)
  POST /cli/device        approve/deny (CSRF-guarded browser form)
  POST /cli/device/token  CLI polls -> lsk_ API key

device_code is stored sha256-hashed, single-use, with authorization_pending
/ slow_down / access_denied / expired_token poll semantics. The CLI picks
the flow automatically (SSH/CI/no-DISPLAY -> device), with --device/--web
to force it and a fallback to loopback against servers without /cli/device.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 18:07:49 +00:00
..
config.test.ts fix(cli): block config prototype pollution (#54) 2026-06-13 22:52:20 -07:00
config.ts fix(cli): block config prototype pollution (#54) 2026-06-13 22:52:20 -07:00
fixtures.ts Scaffold LogicSRC and CommandBoard plugins 2026-06-06 11:24:02 +00:00
format.ts Scaffold LogicSRC and CommandBoard plugins 2026-06-06 11:24:02 +00:00
index.test.ts Add feed discovery plugin 2026-06-09 09:34:31 +00:00
index.ts fix(cli): point logicsrc login at the real app + add device-code login 2026-07-28 18:07:49 +00:00
numeric-options.test.ts fix(cli): validate positive numeric options (#49) 2026-06-13 22:55:18 -07:00
numeric-options.ts fix(cli): validate positive numeric options (#49) 2026-06-13 22:55:18 -07:00
ontology.ts feat(openontology): Phase 2 + Phase 3 — storage, REST/SSE, MCP, RDF/SHACL, adapters, TUI, explorer (#101) 2026-07-28 05:10:33 -07:00
openspec.ts Implement OpenSpec artifacts and SDK contracts 2026-06-06 16:44:58 +00:00
prd.ts feat(openprd): implement the OpenPRD standard — engine, CLI, conformance bundle (#100) 2026-07-28 04:11:07 -07:00
registry.ts feat(credential-sharing): implement the Credential Sharing OpenSpec (M1-M3) 2026-06-27 15:24:30 +00:00
teams.ts fix(cli): point logicsrc login at the real app + add device-code login 2026-07-28 18:07:49 +00:00