-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhasna.contract.json
More file actions
68 lines (68 loc) · 2.27 KB
/
Copy pathhasna.contract.json
File metadata and controls
68 lines (68 loc) · 2.27 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
{
"schema": "hasna.service_contract.v1",
"name": "attachments",
"class": "cli-with-store",
"contractVersion": "v1",
"kitVersion": "0.8.2",
"description": "Open-source attachment transfer with local or private S3 storage, app-hosted share links, CLI, MCP, REST API (attachments-serve), and a generated SDK. Cloud service is PURE REMOTE (Amendment A1): reads/writes RDS Postgres and S3 directly.",
"bins": ["attachments", "attachments-mcp", "attachments-serve"],
"hosting": ["user-hosted"],
"deploymentModes": ["local", "self_hosted"],
"storage": {
"mode": "cloud",
"engines": ["sqlite", "postgres"],
"envPrefix": "HASNA_ATTACHMENTS_",
"aliasEnvPrefix": "ATTACHMENTS_",
"pgTestGate": {
"envVar": "HASNA_ATTACHMENTS_TEST_DATABASE_URL",
"command": "HASNA_ATTACHMENTS_DATABASE_URL=\"${HASNA_ATTACHMENTS_TEST_DATABASE_URL:?point it at a throwaway Postgres; the live-PG gate must not pass without one}\" HASNA_ATTACHMENTS_STORAGE_MODE=cloud ATTACHMENTS_REQUIRE_POSTGRES=1 bun test src/db"
}
},
"serviceSurfaces": [
{
"name": "attachments-api",
"kind": "api",
"status": "supported",
"bin": "attachments-serve",
"authMode": "api-key",
"deploymentModes": ["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"
},
{
"name": "attachments-sdk",
"kind": "sdk",
"status": "supported",
"authMode": "none",
"deploymentModes": ["local", "self_hosted"],
"exportSubpath": ".",
"generatedFrom": "/openapi.json"
},
{
"name": "attachments-mcp",
"kind": "mcp",
"status": "supported",
"mcpBin": "attachments-mcp",
"authMode": "local-only",
"deploymentModes": ["local", "self_hosted"]
},
{
"name": "attachments-cli",
"kind": "cli",
"status": "supported",
"bin": "attachments",
"authMode": "local-only",
"deploymentModes": ["local", "self_hosted"]
}
],
"metadata": {
"release": {
"artifactScan": {
"script": "scan:artifact"
}
}
}
}