@hasna/contacts 0.6.34 → 0.6.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -1
- package/dashboard/dist/assets/index-0l6aQb1t.css +1 -0
- package/dashboard/dist/assets/index-opnZdkVD.js +229 -0
- package/dashboard/dist/index.html +13 -0
- package/dist/cli/commands/advanced.d.ts +3 -0
- package/dist/cli/commands/advanced.d.ts.map +1 -0
- package/dist/cli/commands/audience.d.ts +18 -0
- package/dist/cli/commands/audience.d.ts.map +1 -0
- package/dist/cli/commands/core.d.ts +3 -0
- package/dist/cli/commands/core.d.ts.map +1 -0
- package/dist/cli/commands/crm.d.ts +3 -0
- package/dist/cli/commands/crm.d.ts.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +2994 -579
- package/dist/cli/storage.d.ts +3 -0
- package/dist/cli/storage.d.ts.map +1 -0
- package/dist/cli/utils.d.ts +10 -0
- package/dist/cli/utils.d.ts.map +1 -0
- package/dist/cloud/http-storage.d.ts +88 -0
- package/dist/cloud/http-storage.d.ts.map +1 -0
- package/dist/db/activity.d.ts +15 -0
- package/dist/db/activity.d.ts.map +1 -0
- package/dist/db/applications.d.ts +10 -0
- package/dist/db/applications.d.ts.map +1 -0
- package/dist/db/audiences.d.ts +51 -0
- package/dist/db/audiences.d.ts.map +1 -0
- package/dist/db/companies.d.ts +19 -0
- package/dist/db/companies.d.ts.map +1 -0
- package/dist/db/contact-tasks.d.ts +19 -0
- package/dist/db/contact-tasks.d.ts.map +1 -0
- package/dist/db/contacts.d.ts +30 -0
- package/dist/db/contacts.d.ts.map +1 -0
- package/dist/db/coordination.d.ts +30 -0
- package/dist/db/coordination.d.ts.map +1 -0
- package/dist/db/database.d.ts +8 -0
- package/dist/db/database.d.ts.map +1 -0
- package/dist/db/deals.d.ts +14 -0
- package/dist/db/deals.d.ts.map +1 -0
- package/dist/db/documents.d.ts +38 -0
- package/dist/db/documents.d.ts.map +1 -0
- package/dist/db/events.d.ts +14 -0
- package/dist/db/events.d.ts.map +1 -0
- package/dist/db/field-history.d.ts +17 -0
- package/dist/db/field-history.d.ts.map +1 -0
- package/dist/db/freshness.d.ts +24 -0
- package/dist/db/freshness.d.ts.map +1 -0
- package/dist/db/graph.d.ts +21 -0
- package/dist/db/graph.d.ts.map +1 -0
- package/dist/db/groups.d.ts +22 -0
- package/dist/db/groups.d.ts.map +1 -0
- package/dist/db/health.d.ts +40 -0
- package/dist/db/health.d.ts.map +1 -0
- package/dist/db/identity.d.ts +32 -0
- package/dist/db/identity.d.ts.map +1 -0
- package/dist/db/job-history.d.ts +29 -0
- package/dist/db/job-history.d.ts.map +1 -0
- package/dist/db/learnings.d.ts +43 -0
- package/dist/db/learnings.d.ts.map +1 -0
- package/dist/db/notes.d.ts +8 -0
- package/dist/db/notes.d.ts.map +1 -0
- package/dist/db/org-chart.d.ts +37 -0
- package/dist/db/org-chart.d.ts.map +1 -0
- package/dist/db/org-members.d.ts +9 -0
- package/dist/db/org-members.d.ts.map +1 -0
- package/dist/db/paths.d.ts +15 -0
- package/dist/db/paths.d.ts.map +1 -0
- package/dist/db/pg-migrations.d.ts +8 -0
- package/dist/db/pg-migrations.d.ts.map +1 -0
- package/dist/db/project-memberships.d.ts +8 -0
- package/dist/db/project-memberships.d.ts.map +1 -0
- package/dist/db/relationships.d.ts +30 -0
- package/dist/db/relationships.d.ts.map +1 -0
- package/dist/db/signals.d.ts +18 -0
- package/dist/db/signals.d.ts.map +1 -0
- package/dist/db/sqlite-adapter.d.ts +15 -0
- package/dist/db/sqlite-adapter.d.ts.map +1 -0
- package/dist/db/storage.d.ts +15 -0
- package/dist/db/storage.d.ts.map +1 -0
- package/dist/db/tags.d.ts +14 -0
- package/dist/db/tags.d.ts.map +1 -0
- package/dist/db/tombstones.d.ts +19 -0
- package/dist/db/tombstones.d.ts.map +1 -0
- package/dist/db/vendor-comms.d.ts +15 -0
- package/dist/db/vendor-comms.d.ts.map +1 -0
- package/dist/generated/storage-kit/health.d.ts +20 -0
- package/dist/generated/storage-kit/health.d.ts.map +1 -0
- package/dist/generated/storage-kit/index.d.ts +8 -0
- package/dist/generated/storage-kit/index.d.ts.map +1 -0
- package/dist/generated/storage-kit/migrations.d.ts +48 -0
- package/dist/generated/storage-kit/migrations.d.ts.map +1 -0
- package/dist/generated/storage-kit/mode.d.ts +48 -0
- package/dist/generated/storage-kit/mode.d.ts.map +1 -0
- package/dist/generated/storage-kit/pool.d.ts +34 -0
- package/dist/generated/storage-kit/pool.d.ts.map +1 -0
- package/dist/generated/storage-kit/query.d.ts +36 -0
- package/dist/generated/storage-kit/query.d.ts.map +1 -0
- package/dist/generated/storage-kit/tls.d.ts +26 -0
- package/dist/generated/storage-kit/tls.d.ts.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +805 -75
- package/dist/lib/apple-contacts.d.ts +3 -0
- package/dist/lib/apple-contacts.d.ts.map +1 -0
- package/dist/lib/audience-contract.d.ts +215 -0
- package/dist/lib/audience-contract.d.ts.map +1 -0
- package/dist/lib/audit.d.ts +12 -0
- package/dist/lib/audit.d.ts.map +1 -0
- package/dist/lib/brief.d.ts +3 -0
- package/dist/lib/brief.d.ts.map +1 -0
- package/dist/lib/config.d.ts +7 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/connector.d.ts +44 -0
- package/dist/lib/connector.d.ts.map +1 -0
- package/dist/lib/context.d.ts +5 -0
- package/dist/lib/context.d.ts.map +1 -0
- package/dist/lib/dedup.d.ts +10 -0
- package/dist/lib/dedup.d.ts.map +1 -0
- package/dist/lib/document-scanner.d.ts +8 -0
- package/dist/lib/document-scanner.d.ts.map +1 -0
- package/dist/lib/embeddings.d.ts +9 -0
- package/dist/lib/embeddings.d.ts.map +1 -0
- package/dist/lib/export.d.ts +8 -0
- package/dist/lib/export.d.ts.map +1 -0
- package/dist/lib/freshness.d.ts +19 -0
- package/dist/lib/freshness.d.ts.map +1 -0
- package/dist/lib/gmail-import.d.ts +51 -0
- package/dist/lib/gmail-import.d.ts.map +1 -0
- package/dist/lib/google-contacts.d.ts +115 -0
- package/dist/lib/google-contacts.d.ts.map +1 -0
- package/dist/lib/images.d.ts +30 -0
- package/dist/lib/images.d.ts.map +1 -0
- package/dist/lib/import.d.ts +10 -0
- package/dist/lib/import.d.ts.map +1 -0
- package/dist/lib/learning-maintenance.d.ts +8 -0
- package/dist/lib/learning-maintenance.d.ts.map +1 -0
- package/dist/lib/mailery-sync.d.ts +46 -0
- package/dist/lib/mailery-sync.d.ts.map +1 -0
- package/dist/lib/meeting-capture.d.ts +15 -0
- package/dist/lib/meeting-capture.d.ts.map +1 -0
- package/dist/lib/package-version.d.ts +6 -0
- package/dist/lib/package-version.d.ts.map +1 -0
- package/dist/lib/signals.d.ts +9 -0
- package/dist/lib/signals.d.ts.map +1 -0
- package/dist/lib/signature-parser.d.ts +36 -0
- package/dist/lib/signature-parser.d.ts.map +1 -0
- package/dist/lib/stats.d.ts +24 -0
- package/dist/lib/stats.d.ts.map +1 -0
- package/dist/lib/timeline.d.ts +11 -0
- package/dist/lib/timeline.d.ts.map +1 -0
- package/dist/lib/upcoming.d.ts +14 -0
- package/dist/lib/upcoming.d.ts.map +1 -0
- package/dist/lib/vault.d.ts +28 -0
- package/dist/lib/vault.d.ts.map +1 -0
- package/dist/mcp/handlers/advanced.d.ts +14 -0
- package/dist/mcp/handlers/advanced.d.ts.map +1 -0
- package/dist/mcp/handlers/audience.d.ts +9 -0
- package/dist/mcp/handlers/audience.d.ts.map +1 -0
- package/dist/mcp/handlers/core.d.ts +10 -0
- package/dist/mcp/handlers/core.d.ts.map +1 -0
- package/dist/mcp/handlers/crm.d.ts +14 -0
- package/dist/mcp/handlers/crm.d.ts.map +1 -0
- package/dist/mcp/handlers/index.d.ts +4 -0
- package/dist/mcp/handlers/index.d.ts.map +1 -0
- package/dist/mcp/handlers/types.d.ts +10 -0
- package/dist/mcp/handlers/types.d.ts.map +1 -0
- package/dist/mcp/http.d.ts +17 -0
- package/dist/mcp/http.d.ts.map +1 -0
- package/dist/mcp/index.d.ts +5 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +1054 -291
- package/dist/mcp/register-tools.d.ts +3 -0
- package/dist/mcp/register-tools.d.ts.map +1 -0
- package/dist/mcp/schema.d.ts +3 -0
- package/dist/mcp/schema.d.ts.map +1 -0
- package/dist/mcp/storage-tools.d.ts +3 -0
- package/dist/mcp/storage-tools.d.ts.map +1 -0
- package/dist/mcp/tools.d.ts +3799 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/sdk/index.d.ts +16 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/index.js +63 -0
- package/dist/sdk/v1.generated.d.ts +270 -0
- package/dist/sdk/v1.generated.d.ts.map +1 -0
- package/dist/server/cloud-index.d.ts +3 -0
- package/dist/server/cloud-index.d.ts.map +1 -0
- package/dist/server/cloud-serve.d.ts +3 -0
- package/dist/server/cloud-serve.d.ts.map +1 -0
- package/dist/server/cloud.d.ts +53 -0
- package/dist/server/cloud.d.ts.map +1 -0
- package/dist/server/index.d.ts +3 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +1750 -332
- package/dist/server/openapi.d.ts +1134 -0
- package/dist/server/openapi.d.ts.map +1 -0
- package/dist/server/pg-store.d.ts +893 -0
- package/dist/server/pg-store.d.ts.map +1 -0
- package/dist/server/security.d.ts +24 -0
- package/dist/server/security.d.ts.map +1 -0
- package/dist/server/serve.d.ts +9 -0
- package/dist/server/serve.d.ts.map +1 -0
- package/dist/server/v1.d.ts +28 -0
- package/dist/server/v1.d.ts.map +1 -0
- package/dist/store/index.d.ts +387 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +856 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/project-memberships.d.ts +32 -0
- package/dist/types/project-memberships.d.ts.map +1 -0
- package/hasna.contract.json +1 -1
- package/migrations/0015_contact_project_membership_authority.sql +88 -0
- package/package.json +4 -2
- package/vendor/fast-uri/README.md +12 -0
- package/dist/server/cloud-index.js +0 -9187
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAg/CnB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @hasna/contacts SDK — typed `/v1` cloud client.
|
|
3
|
+
*
|
|
4
|
+
* Generated from the serve OpenAPI document (src/server/openapi.ts).
|
|
5
|
+
* Regenerate with `bun run scripts/generate-sdk.ts`.
|
|
6
|
+
*
|
|
7
|
+
* import { ContactsV1Client } from "@hasna/contacts/sdk";
|
|
8
|
+
* const client = new ContactsV1Client({
|
|
9
|
+
* baseUrl: process.env.CONTACTS_API_URL!, // self_hosted service URL
|
|
10
|
+
* apiKey: process.env.CONTACTS_API_KEY!, // contracts-issued key
|
|
11
|
+
* });
|
|
12
|
+
* const { contacts } = await client.listContacts({ limit: 20 });
|
|
13
|
+
*/
|
|
14
|
+
export { ContactsV1Client, ApiError as ContactsV1ApiError } from "./v1.generated.js";
|
|
15
|
+
export type { ContactsV1ClientOptions, Contact as ContactsV1Contact, Company as ContactsV1Company, Tag as ContactsV1Tag, CreateContactInput as ContactsV1CreateContactInput, UpdateContactInput as ContactsV1UpdateContactInput, CreateCompanyInput as ContactsV1CreateCompanyInput, UpdateCompanyInput as ContactsV1UpdateCompanyInput, CreateTagInput as ContactsV1CreateTagInput, UpdateTagInput as ContactsV1UpdateTagInput, ProjectIdsInput as ContactsV1ProjectIdsInput, ContactProjectMembershipSnapshot as ContactsV1ProjectMembershipSnapshot, ContactProjectMembershipMutationInput as ContactsV1ProjectMembershipMutationInput, ContactProjectMembershipMutationResult as ContactsV1ProjectMembershipMutationResult, ContactProjectMembershipListResult as ContactsV1ProjectMembershipListResult, } from "./v1.generated.js";
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,gBAAgB,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACrF,YAAY,EACV,uBAAuB,EACvB,OAAO,IAAI,iBAAiB,EAC5B,OAAO,IAAI,iBAAiB,EAC5B,GAAG,IAAI,aAAa,EACpB,kBAAkB,IAAI,4BAA4B,EAClD,kBAAkB,IAAI,4BAA4B,EAClD,kBAAkB,IAAI,4BAA4B,EAClD,kBAAkB,IAAI,4BAA4B,EAClD,cAAc,IAAI,wBAAwB,EAC1C,cAAc,IAAI,wBAAwB,EAC1C,eAAe,IAAI,yBAAyB,EAC5C,gCAAgC,IAAI,mCAAmC,EACvE,qCAAqC,IAAI,wCAAwC,EACjF,sCAAsC,IAAI,yCAAyC,EACnF,kCAAkC,IAAI,qCAAqC,GAC5E,MAAM,mBAAmB,CAAC"}
|
package/dist/sdk/index.js
CHANGED
|
@@ -103,6 +103,34 @@ class ContactsV1Client {
|
|
|
103
103
|
init
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
|
+
async getContactProjectIds(contactId, init) {
|
|
107
|
+
return this.request("GET", `/v1/contacts/${encodeURIComponent(String(contactId))}/projects`, {
|
|
108
|
+
body: undefined,
|
|
109
|
+
query: undefined,
|
|
110
|
+
init
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
async setContactProjects(contactId, body, init) {
|
|
114
|
+
return this.request("PUT", `/v1/contacts/${encodeURIComponent(String(contactId))}/projects`, {
|
|
115
|
+
body,
|
|
116
|
+
query: undefined,
|
|
117
|
+
init
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
async linkContactToProject(contactId, projectId, init) {
|
|
121
|
+
return this.request("PUT", `/v1/contacts/${encodeURIComponent(String(contactId))}/projects/${encodeURIComponent(String(projectId))}`, {
|
|
122
|
+
body: undefined,
|
|
123
|
+
query: undefined,
|
|
124
|
+
init
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
async unlinkContactFromProject(contactId, projectId, init) {
|
|
128
|
+
return this.request("DELETE", `/v1/contacts/${encodeURIComponent(String(contactId))}/projects/${encodeURIComponent(String(projectId))}`, {
|
|
129
|
+
body: undefined,
|
|
130
|
+
query: undefined,
|
|
131
|
+
init
|
|
132
|
+
});
|
|
133
|
+
}
|
|
106
134
|
async addTagToContact(contactId, tagId, init) {
|
|
107
135
|
return this.request("PUT", `/v1/contacts/${encodeURIComponent(String(contactId))}/tags/${encodeURIComponent(String(tagId))}`, {
|
|
108
136
|
body: undefined,
|
|
@@ -138,6 +166,41 @@ class ContactsV1Client {
|
|
|
138
166
|
init
|
|
139
167
|
});
|
|
140
168
|
}
|
|
169
|
+
async listContactProjectMemberships(projectId, query, init) {
|
|
170
|
+
return this.request("GET", `/v1/projects/${encodeURIComponent(String(projectId))}/contact-memberships`, {
|
|
171
|
+
body: undefined,
|
|
172
|
+
query,
|
|
173
|
+
init
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
async readContactProjectMembership(projectId, contactId, init) {
|
|
177
|
+
return this.request("GET", `/v1/projects/${encodeURIComponent(String(projectId))}/contact-memberships/${encodeURIComponent(String(contactId))}`, {
|
|
178
|
+
body: undefined,
|
|
179
|
+
query: undefined,
|
|
180
|
+
init
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
async attachContactProjectMembership(projectId, contactId, body, init) {
|
|
184
|
+
return this.request("POST", `/v1/projects/${encodeURIComponent(String(projectId))}/contact-memberships/${encodeURIComponent(String(contactId))}/attach`, {
|
|
185
|
+
body,
|
|
186
|
+
query: undefined,
|
|
187
|
+
init
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
async detachContactProjectMembership(projectId, contactId, body, init) {
|
|
191
|
+
return this.request("POST", `/v1/projects/${encodeURIComponent(String(projectId))}/contact-memberships/${encodeURIComponent(String(contactId))}/detach`, {
|
|
192
|
+
body,
|
|
193
|
+
query: undefined,
|
|
194
|
+
init
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
async listContactIdsByProject(projectId, init) {
|
|
198
|
+
return this.request("GET", `/v1/projects/${encodeURIComponent(String(projectId))}/contacts`, {
|
|
199
|
+
body: undefined,
|
|
200
|
+
query: undefined,
|
|
201
|
+
init
|
|
202
|
+
});
|
|
203
|
+
}
|
|
141
204
|
async getStats(init) {
|
|
142
205
|
return this.request("GET", `/v1/stats`, {
|
|
143
206
|
body: undefined,
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
export interface Contact {
|
|
2
|
+
"id"?: string;
|
|
3
|
+
"first_name"?: string;
|
|
4
|
+
"last_name"?: string;
|
|
5
|
+
"display_name"?: string;
|
|
6
|
+
"nickname"?: string | null;
|
|
7
|
+
"company_id"?: string | null;
|
|
8
|
+
"job_title"?: string | null;
|
|
9
|
+
"notes"?: string | null;
|
|
10
|
+
"source"?: string;
|
|
11
|
+
"status"?: string;
|
|
12
|
+
"sensitivity"?: string;
|
|
13
|
+
"archived"?: boolean;
|
|
14
|
+
"priority"?: number;
|
|
15
|
+
"tags": Array<Tag>;
|
|
16
|
+
"created_at"?: string;
|
|
17
|
+
"updated_at"?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface Company {
|
|
20
|
+
"id"?: string;
|
|
21
|
+
"name"?: string;
|
|
22
|
+
"domain"?: string | null;
|
|
23
|
+
"industry"?: string | null;
|
|
24
|
+
"size"?: string | null;
|
|
25
|
+
"founded_year"?: number | null;
|
|
26
|
+
"notes"?: string | null;
|
|
27
|
+
"is_owned_entity"?: boolean;
|
|
28
|
+
"created_at"?: string;
|
|
29
|
+
"updated_at"?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface Tag {
|
|
32
|
+
"id"?: string;
|
|
33
|
+
"name"?: string;
|
|
34
|
+
"color"?: string;
|
|
35
|
+
"description"?: string | null;
|
|
36
|
+
"created_at"?: string;
|
|
37
|
+
}
|
|
38
|
+
export interface CreateContactInput {
|
|
39
|
+
"first_name"?: string;
|
|
40
|
+
"last_name"?: string;
|
|
41
|
+
"display_name"?: string;
|
|
42
|
+
"nickname"?: string;
|
|
43
|
+
"company_id"?: string;
|
|
44
|
+
"job_title"?: string;
|
|
45
|
+
"notes"?: string;
|
|
46
|
+
"source"?: string;
|
|
47
|
+
"status"?: string;
|
|
48
|
+
"sensitivity"?: string;
|
|
49
|
+
}
|
|
50
|
+
export interface UpdateContactInput {
|
|
51
|
+
"first_name"?: string;
|
|
52
|
+
"last_name"?: string;
|
|
53
|
+
"display_name"?: string;
|
|
54
|
+
"nickname"?: string;
|
|
55
|
+
"company_id"?: string;
|
|
56
|
+
"job_title"?: string;
|
|
57
|
+
"notes"?: string;
|
|
58
|
+
"status"?: string;
|
|
59
|
+
}
|
|
60
|
+
export interface CreateCompanyInput {
|
|
61
|
+
"name": string;
|
|
62
|
+
"domain"?: string;
|
|
63
|
+
"industry"?: string;
|
|
64
|
+
"size"?: string;
|
|
65
|
+
"founded_year"?: number;
|
|
66
|
+
"notes"?: string;
|
|
67
|
+
"is_owned_entity"?: boolean;
|
|
68
|
+
}
|
|
69
|
+
export interface UpdateCompanyInput {
|
|
70
|
+
"name"?: string;
|
|
71
|
+
"domain"?: string;
|
|
72
|
+
"industry"?: string;
|
|
73
|
+
"notes"?: string;
|
|
74
|
+
}
|
|
75
|
+
export interface CreateTagInput {
|
|
76
|
+
"name": string;
|
|
77
|
+
"color"?: string;
|
|
78
|
+
"description"?: string;
|
|
79
|
+
}
|
|
80
|
+
export interface UpdateTagInput {
|
|
81
|
+
"name"?: string;
|
|
82
|
+
"color"?: string;
|
|
83
|
+
"description"?: string;
|
|
84
|
+
}
|
|
85
|
+
export interface ProjectIdsInput {
|
|
86
|
+
"project_ids": Array<string>;
|
|
87
|
+
}
|
|
88
|
+
export interface ContactProjectMembershipSnapshot {
|
|
89
|
+
"contact_id": string;
|
|
90
|
+
"project_id": string;
|
|
91
|
+
"linked": boolean;
|
|
92
|
+
"version": string;
|
|
93
|
+
}
|
|
94
|
+
export interface ContactProjectMembershipMutationInput {
|
|
95
|
+
"operation_id": string;
|
|
96
|
+
"step_id": string;
|
|
97
|
+
"expected_version": string;
|
|
98
|
+
}
|
|
99
|
+
export interface ContactProjectMembershipMutationResult {
|
|
100
|
+
"outcome": "accepted" | "duplicate_of_accepted";
|
|
101
|
+
"operation_id": string;
|
|
102
|
+
"step_id": string;
|
|
103
|
+
"before": ContactProjectMembershipSnapshot;
|
|
104
|
+
"after": ContactProjectMembershipSnapshot;
|
|
105
|
+
"receipt_id": string;
|
|
106
|
+
}
|
|
107
|
+
export interface ContactProjectMembershipListResult {
|
|
108
|
+
"project_id": string;
|
|
109
|
+
"contact_ids": Array<string>;
|
|
110
|
+
"complete": boolean;
|
|
111
|
+
"membership_revision": string;
|
|
112
|
+
}
|
|
113
|
+
export interface ContactsV1ClientOptions {
|
|
114
|
+
/** Base URL, e.g. process.env.APP_API_URL. */
|
|
115
|
+
baseUrl: string;
|
|
116
|
+
/** API key, e.g. process.env.APP_API_KEY. Sent as the 'x-api-key' header. */
|
|
117
|
+
apiKey?: string;
|
|
118
|
+
/** Custom fetch (defaults to global fetch). */
|
|
119
|
+
fetch?: typeof fetch;
|
|
120
|
+
/** Extra headers merged into every request. */
|
|
121
|
+
headers?: Record<string, string>;
|
|
122
|
+
}
|
|
123
|
+
export declare class ApiError extends Error {
|
|
124
|
+
readonly status: number;
|
|
125
|
+
readonly body: unknown;
|
|
126
|
+
constructor(status: number, message: string, body: unknown);
|
|
127
|
+
}
|
|
128
|
+
export declare class ContactsV1Client {
|
|
129
|
+
private readonly baseUrl;
|
|
130
|
+
private readonly apiKey;
|
|
131
|
+
private readonly fetchImpl;
|
|
132
|
+
private readonly baseHeaders;
|
|
133
|
+
constructor(options: ContactsV1ClientOptions);
|
|
134
|
+
private request;
|
|
135
|
+
/** List companies */
|
|
136
|
+
listCompanies(query?: {
|
|
137
|
+
"industry"?: string;
|
|
138
|
+
"limit"?: number;
|
|
139
|
+
"offset"?: number;
|
|
140
|
+
}, init?: RequestInit): Promise<{
|
|
141
|
+
"companies"?: Array<Company>;
|
|
142
|
+
"count"?: number;
|
|
143
|
+
}>;
|
|
144
|
+
/** Create a company */
|
|
145
|
+
createCompany(body: CreateCompanyInput, init?: RequestInit): Promise<{
|
|
146
|
+
"company"?: Company;
|
|
147
|
+
}>;
|
|
148
|
+
/** Get a company by id */
|
|
149
|
+
getCompany(id: string, init?: RequestInit): Promise<{
|
|
150
|
+
"company"?: Company;
|
|
151
|
+
}>;
|
|
152
|
+
/** Delete a company */
|
|
153
|
+
deleteCompany(id: string, init?: RequestInit): Promise<{
|
|
154
|
+
"deleted"?: boolean;
|
|
155
|
+
"id"?: string;
|
|
156
|
+
}>;
|
|
157
|
+
/** Update a company */
|
|
158
|
+
updateCompany(id: string, body: UpdateCompanyInput, init?: RequestInit): Promise<{
|
|
159
|
+
"company"?: Company;
|
|
160
|
+
}>;
|
|
161
|
+
/** List contacts */
|
|
162
|
+
listContacts(query?: {
|
|
163
|
+
"q"?: string;
|
|
164
|
+
"company_id"?: string;
|
|
165
|
+
"status"?: string;
|
|
166
|
+
"tag_id"?: string;
|
|
167
|
+
"limit"?: number;
|
|
168
|
+
"offset"?: number;
|
|
169
|
+
}, init?: RequestInit): Promise<{
|
|
170
|
+
"contacts"?: Array<Contact>;
|
|
171
|
+
"count"?: number;
|
|
172
|
+
}>;
|
|
173
|
+
/** Create a contact */
|
|
174
|
+
createContact(body: CreateContactInput, init?: RequestInit): Promise<{
|
|
175
|
+
"contact"?: Contact;
|
|
176
|
+
}>;
|
|
177
|
+
/** List project ids attached to a contact */
|
|
178
|
+
getContactProjectIds(contactId: string, init?: RequestInit): Promise<{
|
|
179
|
+
"contact_id"?: string;
|
|
180
|
+
"project_ids"?: Array<string>;
|
|
181
|
+
}>;
|
|
182
|
+
/** Atomically replace a contact's project memberships */
|
|
183
|
+
setContactProjects(contactId: string, body: ProjectIdsInput, init?: RequestInit): Promise<{
|
|
184
|
+
"contact_id"?: string;
|
|
185
|
+
"project_ids"?: Array<string>;
|
|
186
|
+
}>;
|
|
187
|
+
/** Attach a contact to a project idempotently */
|
|
188
|
+
linkContactToProject(contactId: string, projectId: string, init?: RequestInit): Promise<{
|
|
189
|
+
"attached"?: boolean;
|
|
190
|
+
"contact_id"?: string;
|
|
191
|
+
"project_id"?: string;
|
|
192
|
+
}>;
|
|
193
|
+
/** Detach a contact from a project */
|
|
194
|
+
unlinkContactFromProject(contactId: string, projectId: string, init?: RequestInit): Promise<{
|
|
195
|
+
"removed"?: boolean;
|
|
196
|
+
"contact_id"?: string;
|
|
197
|
+
"project_id"?: string;
|
|
198
|
+
}>;
|
|
199
|
+
/** Attach a tag to a contact idempotently */
|
|
200
|
+
addTagToContact(contactId: string, tagId: string, init?: RequestInit): Promise<{
|
|
201
|
+
"attached"?: boolean;
|
|
202
|
+
"contact_id"?: string;
|
|
203
|
+
"tag_id"?: string;
|
|
204
|
+
}>;
|
|
205
|
+
/** Remove a tag from a contact */
|
|
206
|
+
removeTagFromContact(contactId: string, tagId: string, init?: RequestInit): Promise<{
|
|
207
|
+
"removed"?: boolean;
|
|
208
|
+
"contact_id"?: string;
|
|
209
|
+
"tag_id"?: string;
|
|
210
|
+
}>;
|
|
211
|
+
/** Get a contact by id */
|
|
212
|
+
getContact(id: string, init?: RequestInit): Promise<{
|
|
213
|
+
"contact"?: Contact;
|
|
214
|
+
}>;
|
|
215
|
+
/** Delete a contact */
|
|
216
|
+
deleteContact(id: string, init?: RequestInit): Promise<{
|
|
217
|
+
"deleted"?: boolean;
|
|
218
|
+
"id"?: string;
|
|
219
|
+
}>;
|
|
220
|
+
/** Update a contact */
|
|
221
|
+
updateContact(id: string, body: UpdateContactInput, init?: RequestInit): Promise<{
|
|
222
|
+
"contact"?: Contact;
|
|
223
|
+
}>;
|
|
224
|
+
/** List the complete authoritative contact membership collection for a project */
|
|
225
|
+
listContactProjectMemberships(projectId: string, query?: {
|
|
226
|
+
"max_items": number;
|
|
227
|
+
}, init?: RequestInit): Promise<ContactProjectMembershipListResult>;
|
|
228
|
+
/** Read one authoritative contact-project membership snapshot */
|
|
229
|
+
readContactProjectMembership(projectId: string, contactId: string, init?: RequestInit): Promise<ContactProjectMembershipSnapshot>;
|
|
230
|
+
/** Attach a contact to a project under expected-version CAS with a replay-safe receipt */
|
|
231
|
+
attachContactProjectMembership(projectId: string, contactId: string, body: ContactProjectMembershipMutationInput, init?: RequestInit): Promise<ContactProjectMembershipMutationResult>;
|
|
232
|
+
/** Detach a contact from a project under expected-version CAS with a replay-safe receipt */
|
|
233
|
+
detachContactProjectMembership(projectId: string, contactId: string, body: ContactProjectMembershipMutationInput, init?: RequestInit): Promise<ContactProjectMembershipMutationResult>;
|
|
234
|
+
/** List contact ids attached to a project */
|
|
235
|
+
listContactIdsByProject(projectId: string, init?: RequestInit): Promise<{
|
|
236
|
+
"project_id"?: string;
|
|
237
|
+
"contact_ids"?: Array<string>;
|
|
238
|
+
}>;
|
|
239
|
+
/** Aggregate counts */
|
|
240
|
+
getStats(init?: RequestInit): Promise<{
|
|
241
|
+
"contacts"?: number;
|
|
242
|
+
"companies"?: number;
|
|
243
|
+
"tags"?: number;
|
|
244
|
+
}>;
|
|
245
|
+
/** List tags */
|
|
246
|
+
listTags(query?: {
|
|
247
|
+
"name"?: string;
|
|
248
|
+
}, init?: RequestInit): Promise<{
|
|
249
|
+
"tags"?: Array<Tag>;
|
|
250
|
+
"count"?: number;
|
|
251
|
+
}>;
|
|
252
|
+
/** Create a tag */
|
|
253
|
+
createTag(body: CreateTagInput, init?: RequestInit): Promise<{
|
|
254
|
+
"tag"?: Tag;
|
|
255
|
+
}>;
|
|
256
|
+
/** Get a tag by id */
|
|
257
|
+
getTag(id: string, init?: RequestInit): Promise<{
|
|
258
|
+
"tag"?: Tag;
|
|
259
|
+
}>;
|
|
260
|
+
/** Delete a tag */
|
|
261
|
+
deleteTag(id: string, init?: RequestInit): Promise<{
|
|
262
|
+
"deleted"?: boolean;
|
|
263
|
+
"id"?: string;
|
|
264
|
+
}>;
|
|
265
|
+
/** Update a tag */
|
|
266
|
+
updateTag(id: string, body: UpdateTagInput, init?: RequestInit): Promise<{
|
|
267
|
+
"tag"?: Tag;
|
|
268
|
+
}>;
|
|
269
|
+
}
|
|
270
|
+
//# sourceMappingURL=v1.generated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v1.generated.d.ts","sourceRoot":"","sources":["../../src/sdk/v1.generated.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-index.d.ts","sourceRoot":"","sources":["../../src/server/cloud-index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-serve.d.ts","sourceRoot":"","sources":["../../src/server/cloud-serve.ts"],"names":[],"mappings":"AAkCA,wBAAgB,yBAAyB,IAAI,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CA2D/E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAGrE"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloud (A1 pure-remote) service wiring for `contacts-serve`.
|
|
3
|
+
*
|
|
4
|
+
* This module powers the versioned `/v1` API and its API-key auth. Per Amendment
|
|
5
|
+
* A1 the serve process reads and writes the shared RDS Postgres DIRECTLY through
|
|
6
|
+
* the vendored @hasna/contracts storage kit — there is NO local sync/cache in
|
|
7
|
+
* the service. Everything is lazy: nothing touches Postgres or crypto until the
|
|
8
|
+
* first `/v1` / `/ready` request, so the local-first CLI/dashboard SQLite paths
|
|
9
|
+
* keep ZERO cloud dependencies.
|
|
10
|
+
*/
|
|
11
|
+
import { ApiKeyStore, type ApiKeyVerifier } from "@hasna/contracts/auth";
|
|
12
|
+
import type { PoolQueryClient } from "../generated/storage-kit/query.js";
|
|
13
|
+
export declare const CONTACTS_APP_SLUG = "contacts";
|
|
14
|
+
/** Resolve the remote DATABASE_URL from the supported env vars (priority order). */
|
|
15
|
+
export declare function resolveCloudDatabaseUrl(env?: NodeJS.ProcessEnv): string | undefined;
|
|
16
|
+
/** Resolve the HMAC signing secret used to verify API keys. */
|
|
17
|
+
export declare function resolveSigningSecret(env?: NodeJS.ProcessEnv): string | undefined;
|
|
18
|
+
/** True when this process is configured to serve the cloud `/v1` API.
|
|
19
|
+
* Explicit remote mode remains cloud even when its DSN is missing so readiness
|
|
20
|
+
* fails closed instead of presenting the process as a healthy local server. */
|
|
21
|
+
export declare function isCloudModeEnabled(env?: NodeJS.ProcessEnv): boolean;
|
|
22
|
+
/** The vendored-kit Postgres pool client backing every `/v1` handler. */
|
|
23
|
+
export declare function getCloudClient(): PoolQueryClient;
|
|
24
|
+
export declare function getApiKeyStore(): ApiKeyStore;
|
|
25
|
+
/**
|
|
26
|
+
* The framework-agnostic API-key verifier for `/v1`. Tokens are stateless,
|
|
27
|
+
* HMAC-signed by the contracts issuer; revocation is checked against the RDS
|
|
28
|
+
* `api_keys` table. Fails closed when no signing secret is configured.
|
|
29
|
+
*/
|
|
30
|
+
export declare function getCloudVerifier(): ApiKeyVerifier;
|
|
31
|
+
/**
|
|
32
|
+
* Ensure the remote schema exists: the relational contacts schema (translated
|
|
33
|
+
* for Postgres in PG_MIGRATIONS) plus the contracts api-keys table. Idempotent —
|
|
34
|
+
* every statement is CREATE ... IF NOT EXISTS / ADD COLUMN IF NOT EXISTS /
|
|
35
|
+
* ON CONFLICT DO NOTHING. NEVER drops or rewrites existing tables.
|
|
36
|
+
*/
|
|
37
|
+
export declare function ensureCloudSchema(): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Runtime schema check for the request path. The `contacts-serve` service runs
|
|
40
|
+
* as the LEAST-PRIVILEGE app role (DML only, no DDL) per the RDS isolation
|
|
41
|
+
* model; the one-shot migration task owns all schema DDL as the OWNER role.
|
|
42
|
+
* So here we attempt the ensure exactly ONCE and, if the app role lacks DDL
|
|
43
|
+
* privileges (the expected steady state), log a single line and proceed — the
|
|
44
|
+
* schema is already present, applied by the migration task. This NEVER throws,
|
|
45
|
+
* so a permission boundary can't take the API down. In local/dev where serve
|
|
46
|
+
* runs with a privileged role, this self-heals the schema on first request.
|
|
47
|
+
*/
|
|
48
|
+
export declare function ensureCloudSchemaBestEffort(): Promise<void>;
|
|
49
|
+
/** Cheap readiness probe: round-trips a trivial query to RDS. */
|
|
50
|
+
export declare function pingCloud(): Promise<boolean>;
|
|
51
|
+
/** Test/shutdown helper. */
|
|
52
|
+
export declare function closeCloud(): Promise<void>;
|
|
53
|
+
//# sourceMappingURL=cloud.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../../src/server/cloud.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAgB,WAAW,EAAE,KAAK,cAAc,EAAwB,MAAM,uBAAuB,CAAC;AAE7G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAIzE,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAE5C,oFAAoF;AACpF,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,SAAS,CAOhG;AAED,+DAA+D;AAC/D,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,SAAS,CAO7F;AAED;;+EAE+E;AAC/E,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAGhF;AAQD,yEAAyE;AACzE,wBAAgB,cAAc,IAAI,eAAe,CA2BhD;AAYD,wBAAgB,cAAc,IAAI,WAAW,CAI5C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CAejD;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAUvD;AAED;;;;;;;;;GASG;AACH,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC,CAYjE;AAED,iEAAiE;AACjE,wBAAsB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAGlD;AAED,4BAA4B;AAC5B,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAOhD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":""}
|