6 Commits

Author SHA1 Message Date
Mubashir Rahim e79f1f3e69 fix(obsidian): sync REPL banner + SKILL.md version footers to 1.1.0
Per @chatgpt-codex-connector review on PR #289: the package bump in
setup.py left the runtime version string in `obsidian_cli.py` and the
SKILL.md version footers stuck at 1.0.0, so `repl` and the skill files
would have misreported the installed artifact's version.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-19 02:56:53 +05:00
Mubashir Rahim b01e0e745c fix(obsidian): use vendor Content-Type for /search/ (DQL + JsonLogic)
Obsidian Local REST API rejects POST /search/ with `40012 Unknown or
invalid Content-Type` when the request is sent with `application/json`
and a JSON-wrapped `{"query": ...}` body. The endpoint expects:

  - `application/vnd.olrapi.dataview.dql+txt` for Dataview DQL queries
  - `application/vnd.olrapi.jsonlogic+json` for JsonLogic queries

with the query body sent verbatim, not wrapped.

Changes:
  - Add `api_post_raw(base_url, endpoint, api_key, body, content_type, …)`
    helper that mirrors `api_put`'s raw-body pattern.
  - `search_query` now takes a `query_type` arg (default `"dql"`) and
    routes through `api_post_raw` with the right vendor Content-Type.
  - `search query` CLI command gains `--type [dql|jsonlogic]`.
  - Refresh unit + CLI tests; add backend tests for `api_post_raw`.
  - Update SKILL.md (canonical + packaged), README, OBSIDIAN SOP doc.
  - Bump package + registry version 1.0.0 → 1.1.0.

Fixes #271

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-19 02:48:05 +05:00
yuhao 99f92f0525 WIP transfer root-skills and hub updates 2026-04-18 10:12:58 +00:00
Doruk Özgen 295dbecec8 fix: reset global host state between CLI invocations
- Always reset _host to DEFAULT_BASE_URL when --host not provided
- Fix test_missing_api_key to clear OBSIDIAN_API_KEY env var
2026-04-12 11:17:15 +03:00
Doruk Özgen 617fcf3d15 fix: correct search endpoint, remove dead api_patch, add error catch-all
- search_query() now hits POST /search/ with JSON body per SOP
- search_simple() stays on POST /search/simple/ with query params
- Remove unused api_patch() and its test (v3.x API changed PATCH semantics)
- Add generic except Exception catch-all to handle_error decorator
2026-04-12 11:13:36 +03:00
Doruk Özgen 25149e66b2 feat: add Obsidian CLI harness
Add CLI harness for Obsidian knowledge management via the Obsidian
Local REST API plugin. Includes vault CRUD, search, active note
operations, command execution, and interactive REPL mode.

- 48 unit tests (mocked, no backend required)
- 7 E2E tests (requires Obsidian with Local REST API plugin)
- Full documentation (SOP, README, SKILL.md, TEST.md)
- Registry entry for CLI-Hub
2026-04-12 00:29:45 +03:00