-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhasna.contract.json
More file actions
73 lines (73 loc) · 1.91 KB
/
Copy pathhasna.contract.json
File metadata and controls
73 lines (73 loc) · 1.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
{
"$schema": "https://github.com/hasna/contracts/schema/hasna.service_contract.v1.json",
"schema": "hasna.service_contract.v1",
"name": "sessions",
"class": "service",
"contractVersion": "v1",
"kitVersion": "0.5.2",
"description": "Search and sync AI coding sessions (Claude, Codex, Codewith, Gemini). Local mode uses SQLite at ~/.hasna/sessions/sessions.db; cloud storage mode (HASNA_SESSIONS_STORAGE_MODE=cloud) is PURE REMOTE per Amendment A1 — sessions-serve reads/writes shared Postgres directly for session metadata, imported messages, and tool calls via /v1 including /v1/sessions/import.",
"bins": [
"sessions",
"sessions-mcp",
"sessions-serve"
],
"deploymentModes": [
"local",
"self-hosted"
],
"serviceSurfaces": [
{
"name": "http",
"status": "supported",
"bin": "sessions-serve",
"mcpBin": "sessions-mcp",
"authMode": "api-key",
"deploymentModes": [
"local",
"self-hosted"
],
"health": {
"method": "GET",
"path": "/health",
"public": true
},
"readiness": {
"method": "GET",
"path": "/ready",
"public": true
},
"version": {
"method": "GET",
"path": "/version",
"public": true
},
"apiBasePath": "/v1",
"openApiPath": "/openapi.json"
}
],
"storage": {
"mode": "local",
"envPrefix": "HASNA_SESSIONS_",
"aliasEnvPrefix": "SESSIONS_",
"databaseUrlSecretRef": "hasna/oss/sessions/database-url",
"sqlitePath": "~/.hasna/sessions/sessions.db"
},
"metadata": {
"serve": {
"healthEndpoints": [
"/health",
"/ready",
"/version"
],
"versionedApiPrefix": "/v1",
"openapi": "/openapi.json",
"auth": "api-key (@hasna/contracts/auth)"
},
"sessionSources": [
"claude",
"codex",
"codewith",
"gemini"
]
}
}