Clone this repository
For self-hosted knots, clone URLs may differ based on your setup.
fetchComponentEdges tries the at_uri column, falls back to NULL
if it doesnt exist yet (pre-refresh databases).
👾 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta Code <noreply@letta.com>
- island:discover now captures at_uri from listRecords API
- edges table gets at_uri column (auto-migrated)
- island:publish uses at_uri in edge.uri instead of empty string
- Removed note field with DID handle — the AT URI is the reference
- Removed didHandles from buildIslandRecord (no longer needed)
The island record now references the actual network.cosmik.connection
records instead of copying their data.
👾 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta Code <noreply@letta.com>
Store agent ID in SQLite config table. First run creates the agent,
subsequent runs reuse it — no more creating a new agent each time.
👾 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta Code <noreply@letta.com>
Tools were only registered on the ephemeral createAgent session
(which gets closed immediately). The working createSession needs
tools + bypassPermissions too, otherwise the agent cant see or
call island_save.
Also simplified tool schema to flat strings (parsed on execute)
since nested array-of-objects schemas may not register reliably.
👾 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta Code <noreply@letta.com>
- Revert to runTurn() — stream() yields token deltas not messages
- Add allowedTools: [island_save] so agent cant use memory or other
built-in tools
- Remove unused SDKMessage import
👾 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta Code <noreply@letta.com>