Skip to content

Seek 0.5.0

Choose a tag to compare

@SynrgStudio SynrgStudio released this 11 Nov 06:15

Install or update, in PowerShell:

irm https://raw.githubusercontent.com/SynrgStudio/seek/main/install.ps1 | iex

Built from this release's commit, with the tests passing.

SHA-256 of seek.exe: 417787b1931b121a3d4050bc72281a47dc8a2f09179eca21f61594d630329252

What changed

Seek's protocol for programs, version 1: what any program can count on when it asks Seek through its pipe. The first step for client packages in Rust, Python and npm (roadmap).

  • PROTOCOL.md: the whole protocol as a spec. It covers the messages, every command's arguments and rows, the error codes, how a program starts Seek or a copy of its own, and what version 1 promises to keep.
  • Stable names for the commands for programs: find.rows, grep.rows, recent.rows, status.rows and opened. The names they had before (__rows and the like) keep working.
  • hello: what a program is talking to (Seek's version, the protocol versions it speaks, the seek.exe running, its data folder, and whether the index is loaded), answered without touching the index.
  • stop, for a program that brings a newer Seek than the one running.
  • Every reply says the protocol's version (api), and an error says its kind in code: bad_args, not_found, not_a_folder, private, index_loading, unknown_command, api_too_new, bad_request or failed. A request for a newer protocol than the daemon speaks is answered with api_too_new.
  • find.rows takes max inside args too.
  • The installer stops a running Seek wherever it runs from, a copy a program carries included. Before, it stopped one only when Seek was already installed.
  • Tests keep the replies' shapes (tests/protocol/v1.json): a shape that changes fails the tests, old names included.