Commit Graph
121 Commits
Author SHA1 Message Date
雷电芽衣 bc6983a62e chore(oss): audit the server package and resync the SDK mirrors
Split the 657-line operation service into eor, submit, and verify
modules, add the AGENT_REVOKED and KEY_RETIRED codes the Backend already
emits, and condense every multi-line comment. Mirror Node, Python, and
Go at 2.1.0 with the deep-health 503, non-idempotent retry, rotation
grace, and path-encoding fixes. Document which routes and response
fields the self-hosted server does not provide.

Claude-Session: https://claude.ai/code/session_01Agoc9bRVE9KL7mmWtey9Vq
2026-09-03 20:48:20 -04:00
雷电芽衣 2010175a82 chore(oss): audit root config, compose, scripts, and catalog tests
Replace the 182-line inline schema in docker-compose.yml with a runner
over packages/server/migrations, add 004 restoring the constraints and
64-bit counters the inline SQL carried, skip migrations already recorded
in schema_versions, relabel the mount for SELinux, and drop the obsolete
compose version key. Retarget the catalog contract test at the migration
files.

Claude-Session: https://claude.ai/code/session_01Agoc9bRVE9KL7mmWtey9Vq
2026-09-03 19:08:07 -04:00
雷电芽衣 ddec2833f5 docs: record the console, server, and SDK mirror sync
Claude-Session: https://claude.ai/code/session_01QoUjdc7HGKTsgj5GhG8HvF
2026-09-02 11:08:30 -04:00
雷电芽衣 98c61a0b6f sdks/node: mirror Elydora-Node-SDK 2.0.1
Rebuilt from the standalone 2101cb7 tree (durable transactions, Kiro IDE
adapter, hook retry with a bounded chain lock, version 2.0.1) with the
Open-Source API trims re-applied: no webhooks, members, admin events,
deep health, token rotation, or agent integration updates.

Claude-Session: https://claude.ai/code/session_01QoUjdc7HGKTsgj5GhG8HvF
2026-09-02 11:01:55 -04:00
雷电芽衣 1656a94811 sdks/python: mirror Elydora-Python-SDK 2.0.2
Rebuilt from the standalone 54e65eb tree (durable transactions, Kiro IDE
adapter, hook retry with a bounded chain lock, version 2.0.2) with the
Open-Source API trims re-applied: no token rotation, token issuance, or
agent integration updates, and the mirror's registration contract and
OpenCode plugin tests kept.

Claude-Session: https://claude.ai/code/session_01QoUjdc7HGKTsgj5GhG8HvF
2026-09-02 10:48:33 -04:00
雷电芽衣 b00932d047 sdks/go: mirror Elydora-Go-SDK v2.0.1 under the /v2 module path
Rebuilt from the standalone f5341ed tree (durable managed-file
transactions, Kiro IDE adapter, hook retry with a bounded chain lock,
CLI version 2.0.1) with the Open-Source API trims re-applied: no admin
events, members, webhooks, deep health, token rotation, or agent
integration updates, and the mirror's freeze/unfreeze and registration
validation contracts kept. The root quickstart now imports the /v2 path.

Claude-Session: https://claude.ai/code/session_01QoUjdc7HGKTsgj5GhG8HvF
2026-09-02 10:34:21 -04:00
雷电芽衣 edf9d73c3e console: sync the registration wizard and issue real API tokens
Mirror the Console registration feature: native hook catalog with
activation plans, one-command install that embeds both credentials in
exclusively created owner-only files (mktemp on POSIX, icacls on
Windows), sh/PowerShell tabs, never-expiring default token, focus-visible
styles, merged i18n keys, and the matching e2e specs.

The server previously answered /v1/auth/token with the 7-day Better Auth
session token and ignored ttl_seconds. It now issues opaque 32-byte API
tokens stored as SHA-256 hashes (migration 003), honours ttl_seconds with
null meaning no expiry, and resolves bearer values as API tokens before
session validation. Issuance requires a session credential.

Claude-Session: https://claude.ai/code/session_01QoUjdc7HGKTsgj5GhG8HvF
2026-09-02 09:56:40 -04:00
雷电芽衣 1bb9d4d49d server: commit operations before enqueueing and answer seq_no races with PREV_HASH_MISMATCH
The operation and receipt now commit before the queue send. A Postgres
23505 on operations_agent_id_seq_no_key is answered with 400
PREV_HASH_MISMATCH carrying the stored chain hash so hook retries can
resync. A failed enqueue after the commit is logged as
operation.enqueue_failed and the receipt is still returned.

Every producer now names its message: MessageQueue.send takes the
durable message id, and the BullMQ adapter passes it as the job id, so
the receipt's queue_message_id is the real queue identifier.

Claude-Session: https://claude.ai/code/session_01QoUjdc7HGKTsgj5GhG8HvF
2026-09-02 08:56:58 -04:00
ZacharyZhang-NY 060a072f1f fix(catalog): align Letta and Grok facts with official documentation
Re-verified all fifteen provider hook contracts against first-party
documentation on 2026-07-21; thirteen match exactly.

Letta: the harness-hook page moved to /reference/deprecated/hooks and
is vendor-deprecated in favor of Mods. The shipped contract remains
live and functional; record the current URL and the documented
PostToolUseFailure event the SDK adapters already register.

Grok: xAI documents the hook stdin payload non-exhaustively with only
hookEventName, sessionId, cwd, workspaceRoot, toolName, and toolInput.
Drop the recorded toolUseId/toolResult field claims, which appear
nowhere in official documentation.
2026-07-21 19:20:51 -04:00
ZacharyZhang-NY f01fd92946 fix(node): mirror Grok hook loader contract 2026-07-20 23:54:35 -04:00
ZacharyZhang-NY d627b784f2 chore(ci): remove GitHub Actions workflow 2026-07-20 21:42:09 -04:00
ZacharyZhang-NY 53476feca7 fix(letta): mirror official Python hook integration 2026-07-20 18:48:01 -04:00
ZacharyZhang-NY 24a9d64978 fix(catalog): align Qwen hook contract with 0.20 2026-07-20 16:18:35 -04:00
ZacharyZhang-NY b9ab86c8ee fix(qwen): sync Go hooks with Qwen Code 0.20 2026-07-20 16:13:24 -04:00
ZacharyZhang-NY 8eecb67722 fix(qwen): mirror Qwen Code 0.20 Python hooks 2026-07-20 15:38:46 -04:00
ZacharyZhang-NY 3095661c9a fix(qwen): mirror Qwen Code 0.20 hooks 2026-07-20 15:10:44 -04:00
ZacharyZhang-NY aa4e2c5fd4 fix(go): mirror Factory Droid 0.175 hooks 2026-07-20 14:39:07 -04:00
ZacharyZhang-NY c59fcafebb fix(python): mirror Factory Droid 0.175 hooks 2026-07-20 14:11:58 -04:00
ZacharyZhang-NY 47ef2cc691 fix(node): mirror Factory Droid 0.175 hooks 2026-07-20 13:45:33 -04:00
ZacharyZhang-NY 42a7653a77 fix(go): mirror official Copilot hook contract 2026-07-20 13:03:27 -04:00
ZacharyZhang-NY 9b67aad113 fix(copilot): mirror transactional Python hooks 2026-07-20 12:34:09 -04:00
ZacharyZhang-NY af8d227b45 fix(copilot): mirror transactional Node hooks 2026-07-20 12:09:24 -04:00
ZacharyZhang-NY d0185887fa fix(cline): mirror transactional Go adapter 2026-07-20 11:39:06 -04:00
ZacharyZhang-NY 052116081a fix(cline): mirror transactional Python adapter 2026-07-20 11:11:34 -04:00
ZacharyZhang-NY 4ad139c60a fix(cline): mirror transactional Node adapter 2026-07-20 10:46:25 -04:00
ZacharyZhang-NY 3ca5d701de fix(go): mirror transactional Auggie hooks 2026-07-20 10:23:35 -04:00
ZacharyZhang-NY dccec10fea fix(python): mirror transactional Auggie hooks 2026-07-20 09:57:11 -04:00
ZacharyZhang-NY 30257b2c76 fix(node): mirror orphaned wrapper protection 2026-07-20 09:38:05 -04:00
ZacharyZhang-NY 384f3053c0 fix(node): mirror transactional Auggie hooks 2026-07-20 09:33:49 -04:00
ZacharyZhang-NY 6c2654a4b5 fix(go): mirror Claude async rewake metadata 2026-07-20 09:14:58 -04:00
ZacharyZhang-NY fad1968c25 fix(python): mirror Claude async rewake metadata 2026-07-20 09:06:13 -04:00
ZacharyZhang-NY 45f6ee076b fix(node): mirror Claude async rewake metadata 2026-07-20 08:53:23 -04:00
ZacharyZhang-NY 2a4e62f0a3 fix(go): mirror native Gemini CLI hooks 2026-07-20 08:45:09 -04:00
ZacharyZhang-NY 2f223dca73 fix(python): mirror official Gemini hooks 2026-07-20 08:19:11 -04:00
ZacharyZhang-NY 2d8111d823 fix(node): mirror official Gemini hooks 2026-07-20 07:55:24 -04:00
ZacharyZhang-NY 48a830ff4d fix(go): mirror official Claude hooks 2026-07-20 07:27:49 -04:00
ZacharyZhang-NY c0534bf1de fix(python): mirror official Claude hooks 2026-07-20 07:01:01 -04:00
ZacharyZhang-NY baaa71e32f fix(node): mirror official Claude hooks 2026-07-20 06:34:52 -04:00
ZacharyZhang-NY 7fe99f7e5f fix(go): mirror official Grok hooks 2026-07-20 06:11:19 -04:00
ZacharyZhang-NY ed36743d77 fix(python): mirror official Grok hooks 2026-07-20 05:44:34 -04:00
ZacharyZhang-NY d84580e5a7 fix(node): mirror official Grok hooks 2026-07-20 05:20:44 -04:00
ZacharyZhang-NY 3ddce86c37 fix(go): align Kimi hooks with official contracts 2026-07-20 05:00:50 -04:00
ZacharyZhang-NY fd62dca155 fix(python): align Kimi hooks with official contracts 2026-07-20 04:31:42 -04:00
ZacharyZhang-NY 2eddd5cf88 fix(node): align Kimi hooks with official contracts 2026-07-20 04:07:19 -04:00
ZacharyZhang-NY 4998d79c0b refactor(node): generalize managed hook transactions 2026-07-20 03:45:37 -04:00
ZacharyZhang-NY 942e5f5ac4 fix(node): preserve failed transaction rollbacks 2026-07-20 03:37:50 -04:00
ZacharyZhang-NY e4d463d085 fix(go): sync transactional Codex hooks 2026-07-20 03:28:14 -04:00
ZacharyZhang-NY 1d2e08de97 fix(python): sync transactional Codex hooks 2026-07-20 02:45:55 -04:00
ZacharyZhang-NY f501df5077 fix(node): sync transactional Codex hooks 2026-07-20 02:14:25 -04:00
ZacharyZhang-NY 91b4251fea fix: align Codex hook sources 2026-07-20 01:32:47 -04:00