This repository has been archived on 2026-04-03. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
core/packages/chat-core/manifest.json
Jeffrey Smith fa2c4808d6
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 21s
CI/CD / build-and-deploy (pull_request) Has been cancelled
CI/CD / test-frontend (pull_request) Has been cancelled
CI/CD / test-sqlite (pull_request) Has been cancelled
CI/CD / test-go-pg (pull_request) Has been cancelled
Feat v0.5.3 chat polish + integration testing
Conversation search (db.query search_like, chat-core /search endpoint,
sidebar search UI), message pagination polish (scroll preservation,
loading spinner), workflow-chat integration package, and multi-user
E2E test infrastructure.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 17:03:50 +00:00

82 lines
2.3 KiB
JSON

{
"id": "chat-core",
"title": "Chat Core",
"type": "library",
"tier": "starlark",
"version": "0.2.0",
"description": "Core chat library — conversations, messages, participants, read cursors. Usable by other packages via lib.require().",
"author": "switchboard",
"permissions": ["db.write", "realtime.publish"],
"exports": [
"create", "send", "history",
"add_participant", "remove_participant", "mark_read"
],
"api_routes": [
{"method": "GET", "path": "/conversations"},
{"method": "POST", "path": "/conversations"},
{"method": "GET", "path": "/conversations/*"},
{"method": "PUT", "path": "/conversations/*"},
{"method": "DELETE", "path": "/conversations/*"},
{"method": "GET", "path": "/messages/*"},
{"method": "POST", "path": "/messages/*"},
{"method": "PUT", "path": "/messages/*"},
{"method": "DELETE", "path": "/messages/*"},
{"method": "GET", "path": "/participants/*"},
{"method": "POST", "path": "/participants/*"},
{"method": "DELETE", "path": "/participants/*"},
{"method": "POST", "path": "/read/*"},
{"method": "GET", "path": "/search"},
{"method": "GET", "path": "/unread"}
],
"db_tables": {
"conversations": {
"columns": {
"title": "text",
"type": "text",
"created_by": "text",
"updated_at": "text"
},
"indexes": [["created_by"], ["updated_at"]]
},
"participants": {
"columns": {
"conversation_id": "text",
"participant_id": "text",
"participant_type": "text",
"display_name": "text",
"role": "text",
"joined_at": "text"
},
"indexes": [
["conversation_id"],
["participant_id"],
["conversation_id", "participant_id"]
]
},
"messages": {
"columns": {
"conversation_id": "text",
"participant_id": "text",
"content": "text",
"content_type": "text",
"edited_at": "text"
},
"indexes": [["conversation_id"]]
},
"read_cursors": {
"columns": {
"conversation_id": "text",
"participant_id": "text",
"last_read_message_id": "text"
},
"indexes": [["conversation_id", "participant_id"]]
}
},
"schema_version": 1
}