dominus-sdk-nodejs-dev 1.2.4
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/LLM-GUIDE.md +537 -0
- package/README.md +585 -0
- package/dist/index.d.ts +191 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +224 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/cache.d.ts +112 -0
- package/dist/lib/cache.d.ts.map +1 -0
- package/dist/lib/cache.js +237 -0
- package/dist/lib/cache.js.map +1 -0
- package/dist/lib/client.d.ts +38 -0
- package/dist/lib/client.d.ts.map +1 -0
- package/dist/lib/client.js +425 -0
- package/dist/lib/client.js.map +1 -0
- package/dist/lib/config.d.ts +20 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +32 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/crypto.d.ts +70 -0
- package/dist/lib/crypto.d.ts.map +1 -0
- package/dist/lib/crypto.js +95 -0
- package/dist/lib/crypto.js.map +1 -0
- package/dist/lib/errors.d.ts +77 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +134 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/namespaces/auth.d.ts +237 -0
- package/dist/namespaces/auth.d.ts.map +1 -0
- package/dist/namespaces/auth.js +785 -0
- package/dist/namespaces/auth.js.map +1 -0
- package/dist/namespaces/courier.d.ts +67 -0
- package/dist/namespaces/courier.d.ts.map +1 -0
- package/dist/namespaces/courier.js +90 -0
- package/dist/namespaces/courier.js.map +1 -0
- package/dist/namespaces/db.d.ts +117 -0
- package/dist/namespaces/db.d.ts.map +1 -0
- package/dist/namespaces/db.js +149 -0
- package/dist/namespaces/db.js.map +1 -0
- package/dist/namespaces/ddl.d.ts +84 -0
- package/dist/namespaces/ddl.d.ts.map +1 -0
- package/dist/namespaces/ddl.js +211 -0
- package/dist/namespaces/ddl.js.map +1 -0
- package/dist/namespaces/files.d.ts +107 -0
- package/dist/namespaces/files.d.ts.map +1 -0
- package/dist/namespaces/files.js +161 -0
- package/dist/namespaces/files.js.map +1 -0
- package/dist/namespaces/health.d.ts +30 -0
- package/dist/namespaces/health.d.ts.map +1 -0
- package/dist/namespaces/health.js +66 -0
- package/dist/namespaces/health.js.map +1 -0
- package/dist/namespaces/logs.d.ts +97 -0
- package/dist/namespaces/logs.d.ts.map +1 -0
- package/dist/namespaces/logs.js +194 -0
- package/dist/namespaces/logs.js.map +1 -0
- package/dist/namespaces/open.d.ts +27 -0
- package/dist/namespaces/open.d.ts.map +1 -0
- package/dist/namespaces/open.js +46 -0
- package/dist/namespaces/open.js.map +1 -0
- package/dist/namespaces/portal.d.ts +172 -0
- package/dist/namespaces/portal.d.ts.map +1 -0
- package/dist/namespaces/portal.js +332 -0
- package/dist/namespaces/portal.js.map +1 -0
- package/dist/namespaces/redis.d.ts +144 -0
- package/dist/namespaces/redis.d.ts.map +1 -0
- package/dist/namespaces/redis.js +218 -0
- package/dist/namespaces/redis.js.map +1 -0
- package/dist/namespaces/secrets.d.ts +50 -0
- package/dist/namespaces/secrets.d.ts.map +1 -0
- package/dist/namespaces/secrets.js +93 -0
- package/dist/namespaces/secrets.js.map +1 -0
- package/dist/namespaces/secure.d.ts +102 -0
- package/dist/namespaces/secure.d.ts.map +1 -0
- package/dist/namespaces/secure.js +151 -0
- package/dist/namespaces/secure.js.map +1 -0
- package/package.json +45 -0
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DDL Namespace - Smith schema DDL & migration operations.
|
|
3
|
+
*
|
|
4
|
+
* Provides DDL operations for schema management and Alembic migrations.
|
|
5
|
+
*/
|
|
6
|
+
export class DdlNamespace {
|
|
7
|
+
client;
|
|
8
|
+
constructor(client) {
|
|
9
|
+
this.client = client;
|
|
10
|
+
}
|
|
11
|
+
// ========================================
|
|
12
|
+
// SCHEMA DDL (Direct Operations)
|
|
13
|
+
// ========================================
|
|
14
|
+
/**
|
|
15
|
+
* Create a table in a schema.
|
|
16
|
+
*/
|
|
17
|
+
async createTable(tableName, columns, schema = 'public') {
|
|
18
|
+
return this.client.request({
|
|
19
|
+
endpoint: '/api/smith/schema/create-table',
|
|
20
|
+
body: {
|
|
21
|
+
schema,
|
|
22
|
+
table_name: tableName,
|
|
23
|
+
columns,
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Drop a table from a schema.
|
|
29
|
+
*/
|
|
30
|
+
async dropTable(tableName, schema = 'public') {
|
|
31
|
+
return this.client.request({
|
|
32
|
+
endpoint: '/api/smith/schema/drop-table',
|
|
33
|
+
body: {
|
|
34
|
+
schema,
|
|
35
|
+
table_name: tableName,
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Add a column to a table.
|
|
41
|
+
*/
|
|
42
|
+
async addColumn(tableName, column, schema = 'public') {
|
|
43
|
+
return this.client.request({
|
|
44
|
+
endpoint: '/api/smith/schema/add-column',
|
|
45
|
+
body: {
|
|
46
|
+
schema,
|
|
47
|
+
table_name: tableName,
|
|
48
|
+
column,
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Drop a column from a table.
|
|
54
|
+
*/
|
|
55
|
+
async dropColumn(tableName, columnName, schema = 'public') {
|
|
56
|
+
return this.client.request({
|
|
57
|
+
endpoint: '/api/smith/schema/drop-column',
|
|
58
|
+
body: {
|
|
59
|
+
schema,
|
|
60
|
+
table_name: tableName,
|
|
61
|
+
column_name: columnName,
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Alter a column in a table.
|
|
67
|
+
*/
|
|
68
|
+
async alterColumn(tableName, columnName, changes, schema = 'public') {
|
|
69
|
+
return this.client.request({
|
|
70
|
+
endpoint: '/api/smith/schema/alter-column',
|
|
71
|
+
body: {
|
|
72
|
+
schema,
|
|
73
|
+
table_name: tableName,
|
|
74
|
+
column_name: columnName,
|
|
75
|
+
...changes,
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Create an index on a table.
|
|
81
|
+
*/
|
|
82
|
+
async createIndex(tableName, indexName, columns, options = {}) {
|
|
83
|
+
const { unique = false, schema = 'public' } = options;
|
|
84
|
+
return this.client.request({
|
|
85
|
+
endpoint: '/api/smith/schema/create-index',
|
|
86
|
+
body: {
|
|
87
|
+
schema,
|
|
88
|
+
table_name: tableName,
|
|
89
|
+
index_name: indexName,
|
|
90
|
+
columns,
|
|
91
|
+
unique,
|
|
92
|
+
},
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Drop an index.
|
|
97
|
+
*/
|
|
98
|
+
async dropIndex(indexName, schema = 'public') {
|
|
99
|
+
return this.client.request({
|
|
100
|
+
endpoint: '/api/smith/schema/drop-index',
|
|
101
|
+
body: {
|
|
102
|
+
schema,
|
|
103
|
+
index_name: indexName,
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
// ========================================
|
|
108
|
+
// CATEGORY DDL (Atomic Multi-Schema)
|
|
109
|
+
// ========================================
|
|
110
|
+
/**
|
|
111
|
+
* Create a table across all schemas in a category.
|
|
112
|
+
*/
|
|
113
|
+
async categoryCreateTable(categorySlug, tableName, columns) {
|
|
114
|
+
return this.client.request({
|
|
115
|
+
endpoint: '/api/smith/category/create-table',
|
|
116
|
+
body: {
|
|
117
|
+
category_slug: categorySlug,
|
|
118
|
+
table_name: tableName,
|
|
119
|
+
columns,
|
|
120
|
+
},
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Add a column across all schemas in a category.
|
|
125
|
+
*/
|
|
126
|
+
async categoryAddColumn(categorySlug, tableName, column) {
|
|
127
|
+
return this.client.request({
|
|
128
|
+
endpoint: '/api/smith/category/add-column',
|
|
129
|
+
body: {
|
|
130
|
+
category_slug: categorySlug,
|
|
131
|
+
table_name: tableName,
|
|
132
|
+
column,
|
|
133
|
+
},
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
// ========================================
|
|
137
|
+
// MIGRATIONS
|
|
138
|
+
// ========================================
|
|
139
|
+
/**
|
|
140
|
+
* List migrations for a schema.
|
|
141
|
+
*/
|
|
142
|
+
async listMigrations(schema) {
|
|
143
|
+
const result = await this.client.request({
|
|
144
|
+
endpoint: `/api/smith/migrations/list/${schema}`,
|
|
145
|
+
method: 'GET',
|
|
146
|
+
});
|
|
147
|
+
return Array.isArray(result) ? result : result.migrations || [];
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* List migrations for a category.
|
|
151
|
+
*/
|
|
152
|
+
async listCategoryMigrations(categorySlug) {
|
|
153
|
+
const result = await this.client.request({
|
|
154
|
+
endpoint: `/api/smith/migrations/category/${categorySlug}/list`,
|
|
155
|
+
method: 'GET',
|
|
156
|
+
});
|
|
157
|
+
return Array.isArray(result) ? result : result.migrations || [];
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Apply a specific migration to a schema.
|
|
161
|
+
*/
|
|
162
|
+
async applyMigration(schema, migrationId) {
|
|
163
|
+
return this.client.request({
|
|
164
|
+
endpoint: '/api/smith/migrations/apply',
|
|
165
|
+
body: {
|
|
166
|
+
schema,
|
|
167
|
+
migration_id: migrationId,
|
|
168
|
+
},
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Rollback a migration from a schema.
|
|
173
|
+
*/
|
|
174
|
+
async rollbackMigration(schema, migrationId) {
|
|
175
|
+
return this.client.request({
|
|
176
|
+
endpoint: '/api/smith/migrations/rollback',
|
|
177
|
+
body: {
|
|
178
|
+
schema,
|
|
179
|
+
migration_id: migrationId,
|
|
180
|
+
},
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
// ========================================
|
|
184
|
+
// PROVISIONING
|
|
185
|
+
// ========================================
|
|
186
|
+
/**
|
|
187
|
+
* Provision a new tenant schema.
|
|
188
|
+
*/
|
|
189
|
+
async provisionTenantSchema(tenantSlug, categorySlug) {
|
|
190
|
+
return this.client.request({
|
|
191
|
+
endpoint: '/api/smith/provision/tenant-schema',
|
|
192
|
+
body: {
|
|
193
|
+
tenant_slug: tenantSlug,
|
|
194
|
+
category_slug: categorySlug,
|
|
195
|
+
},
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Provision a tenant from a category template.
|
|
200
|
+
*/
|
|
201
|
+
async provisionTenantFromCategory(tenantSlug, categorySlug) {
|
|
202
|
+
return this.client.request({
|
|
203
|
+
endpoint: '/api/smith/provision/tenant-from-category',
|
|
204
|
+
body: {
|
|
205
|
+
tenant_slug: tenantSlug,
|
|
206
|
+
category_slug: categorySlug,
|
|
207
|
+
},
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
//# sourceMappingURL=ddl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ddl.js","sourceRoot":"","sources":["../../src/namespaces/ddl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Files Namespace - Archivist object storage operations.
|
|
3
|
+
*
|
|
4
|
+
* Provides file upload, download, and management via B2 object storage.
|
|
5
|
+
*/
|
|
6
|
+
import type { DominusClient } from '../lib/client.js';
|
|
7
|
+
export interface UploadResult {
|
|
8
|
+
id: string;
|
|
9
|
+
path: string;
|
|
10
|
+
size: number;
|
|
11
|
+
[key: string]: unknown;
|
|
12
|
+
}
|
|
13
|
+
export interface DownloadResult {
|
|
14
|
+
download_url: string;
|
|
15
|
+
expires_at: string;
|
|
16
|
+
[key: string]: unknown;
|
|
17
|
+
}
|
|
18
|
+
export interface FetchResult {
|
|
19
|
+
data: string;
|
|
20
|
+
filename: string;
|
|
21
|
+
content_type: string;
|
|
22
|
+
}
|
|
23
|
+
export interface ListResult {
|
|
24
|
+
objects: Array<Record<string, unknown>>;
|
|
25
|
+
cursor?: string;
|
|
26
|
+
count: number;
|
|
27
|
+
}
|
|
28
|
+
export interface FileInfo {
|
|
29
|
+
id?: string;
|
|
30
|
+
category?: string;
|
|
31
|
+
path?: string;
|
|
32
|
+
actor?: string;
|
|
33
|
+
}
|
|
34
|
+
export declare class FilesNamespace {
|
|
35
|
+
private client;
|
|
36
|
+
constructor(client: DominusClient);
|
|
37
|
+
/**
|
|
38
|
+
* Upload a file to object storage.
|
|
39
|
+
*
|
|
40
|
+
* @param data - File content as Buffer
|
|
41
|
+
* @param filename - Original filename
|
|
42
|
+
* @param options - Upload options
|
|
43
|
+
*/
|
|
44
|
+
upload(data: Buffer, filename: string, options?: {
|
|
45
|
+
contentType?: string;
|
|
46
|
+
category?: string;
|
|
47
|
+
path?: string;
|
|
48
|
+
tags?: Record<string, string>;
|
|
49
|
+
compliance?: boolean;
|
|
50
|
+
actor?: string;
|
|
51
|
+
retentionDays?: number;
|
|
52
|
+
}): Promise<UploadResult>;
|
|
53
|
+
/**
|
|
54
|
+
* Get a presigned download URL for a file.
|
|
55
|
+
*
|
|
56
|
+
* @param options - File identifier and options
|
|
57
|
+
*/
|
|
58
|
+
download(options: FileInfo & {
|
|
59
|
+
expiresSeconds?: number;
|
|
60
|
+
}): Promise<DownloadResult>;
|
|
61
|
+
/**
|
|
62
|
+
* Fetch file content directly.
|
|
63
|
+
*
|
|
64
|
+
* @param options - File identifier
|
|
65
|
+
*/
|
|
66
|
+
fetch(options: FileInfo): Promise<FetchResult>;
|
|
67
|
+
/**
|
|
68
|
+
* List files with optional filtering.
|
|
69
|
+
*
|
|
70
|
+
* @param options - List options
|
|
71
|
+
*/
|
|
72
|
+
list(options?: {
|
|
73
|
+
category?: string;
|
|
74
|
+
prefix?: string;
|
|
75
|
+
limit?: number;
|
|
76
|
+
cursor?: string;
|
|
77
|
+
}): Promise<ListResult>;
|
|
78
|
+
/**
|
|
79
|
+
* Delete a file.
|
|
80
|
+
*
|
|
81
|
+
* @param options - File identifier
|
|
82
|
+
*/
|
|
83
|
+
delete(options: FileInfo): Promise<{
|
|
84
|
+
deleted: boolean;
|
|
85
|
+
}>;
|
|
86
|
+
/**
|
|
87
|
+
* Move or rename a file.
|
|
88
|
+
*
|
|
89
|
+
* @param fileId - File UUID
|
|
90
|
+
* @param options - New category and/or path
|
|
91
|
+
*/
|
|
92
|
+
move(fileId: string, options: {
|
|
93
|
+
newCategory?: string;
|
|
94
|
+
newPath?: string;
|
|
95
|
+
}): Promise<Record<string, unknown>>;
|
|
96
|
+
/**
|
|
97
|
+
* Update file metadata.
|
|
98
|
+
*
|
|
99
|
+
* @param fileId - File UUID
|
|
100
|
+
* @param options - New metadata
|
|
101
|
+
*/
|
|
102
|
+
updateMeta(fileId: string, options: {
|
|
103
|
+
tags?: Record<string, string>;
|
|
104
|
+
description?: string;
|
|
105
|
+
}): Promise<Record<string, unknown>>;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=files.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/namespaces/files.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,cAAc;IACb,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEzC;;;;;;OAMG;IACG,MAAM,CACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;QACP,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;KACnB,GACL,OAAO,CAAC,YAAY,CAAC;IAmCxB;;;;OAIG;IACG,QAAQ,CACZ,OAAO,EAAE,QAAQ,GAAG;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9C,OAAO,CAAC,cAAc,CAAC;IAgB1B;;;;OAIG;IACG,KAAK,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC;IAgBpD;;;;OAIG;IACG,IAAI,CACR,OAAO,GAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACZ,GACL,OAAO,CAAC,UAAU,CAAC;IAetB;;;;OAIG;IACG,MAAM,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAgB9D;;;;;OAKG;IACG,IAAI,CACR,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAcnC;;;;;OAKG;IACG,UAAU,CACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/D,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAapC"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Files Namespace - Archivist object storage operations.
|
|
3
|
+
*
|
|
4
|
+
* Provides file upload, download, and management via B2 object storage.
|
|
5
|
+
*/
|
|
6
|
+
export class FilesNamespace {
|
|
7
|
+
client;
|
|
8
|
+
constructor(client) {
|
|
9
|
+
this.client = client;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Upload a file to object storage.
|
|
13
|
+
*
|
|
14
|
+
* @param data - File content as Buffer
|
|
15
|
+
* @param filename - Original filename
|
|
16
|
+
* @param options - Upload options
|
|
17
|
+
*/
|
|
18
|
+
async upload(data, filename, options = {}) {
|
|
19
|
+
const { contentType, category = 'general', path, tags, compliance = false, actor, retentionDays = 90, } = options;
|
|
20
|
+
const fileB64 = data.toString('base64');
|
|
21
|
+
const body = {
|
|
22
|
+
file_content: fileB64,
|
|
23
|
+
filename,
|
|
24
|
+
category,
|
|
25
|
+
logical_path: path || filename,
|
|
26
|
+
};
|
|
27
|
+
if (contentType)
|
|
28
|
+
body.content_type = contentType;
|
|
29
|
+
if (tags)
|
|
30
|
+
body.tags = tags;
|
|
31
|
+
if (compliance) {
|
|
32
|
+
body.is_compliance = true;
|
|
33
|
+
body.retention_days = retentionDays;
|
|
34
|
+
if (actor)
|
|
35
|
+
body.owner_user_id = actor;
|
|
36
|
+
}
|
|
37
|
+
return this.client.request({
|
|
38
|
+
endpoint: '/api/archivist/upload',
|
|
39
|
+
body,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Get a presigned download URL for a file.
|
|
44
|
+
*
|
|
45
|
+
* @param options - File identifier and options
|
|
46
|
+
*/
|
|
47
|
+
async download(options) {
|
|
48
|
+
const { id, category, path, actor, expiresSeconds = 3600 } = options;
|
|
49
|
+
const body = { expires_seconds: expiresSeconds };
|
|
50
|
+
if (id)
|
|
51
|
+
body.id = id;
|
|
52
|
+
if (category)
|
|
53
|
+
body.category = category;
|
|
54
|
+
if (path)
|
|
55
|
+
body.logical_path = path;
|
|
56
|
+
if (actor)
|
|
57
|
+
body.actor_user_id = actor;
|
|
58
|
+
return this.client.request({
|
|
59
|
+
endpoint: '/api/archivist/download',
|
|
60
|
+
body,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Fetch file content directly.
|
|
65
|
+
*
|
|
66
|
+
* @param options - File identifier
|
|
67
|
+
*/
|
|
68
|
+
async fetch(options) {
|
|
69
|
+
const { id, category, path, actor } = options;
|
|
70
|
+
const body = {};
|
|
71
|
+
if (id)
|
|
72
|
+
body.id = id;
|
|
73
|
+
if (category)
|
|
74
|
+
body.category = category;
|
|
75
|
+
if (path)
|
|
76
|
+
body.logical_path = path;
|
|
77
|
+
if (actor)
|
|
78
|
+
body.actor_user_id = actor;
|
|
79
|
+
return this.client.request({
|
|
80
|
+
endpoint: '/api/archivist/fetch',
|
|
81
|
+
body,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* List files with optional filtering.
|
|
86
|
+
*
|
|
87
|
+
* @param options - List options
|
|
88
|
+
*/
|
|
89
|
+
async list(options = {}) {
|
|
90
|
+
const { category, prefix, limit = 100, cursor } = options;
|
|
91
|
+
const body = { limit };
|
|
92
|
+
if (category)
|
|
93
|
+
body.category = category;
|
|
94
|
+
if (prefix)
|
|
95
|
+
body.prefix = prefix;
|
|
96
|
+
if (cursor)
|
|
97
|
+
body.cursor = cursor;
|
|
98
|
+
return this.client.request({
|
|
99
|
+
endpoint: '/api/archivist/list',
|
|
100
|
+
body,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Delete a file.
|
|
105
|
+
*
|
|
106
|
+
* @param options - File identifier
|
|
107
|
+
*/
|
|
108
|
+
async delete(options) {
|
|
109
|
+
const { id, category, path, actor } = options;
|
|
110
|
+
const body = {};
|
|
111
|
+
if (id)
|
|
112
|
+
body.id = id;
|
|
113
|
+
if (category)
|
|
114
|
+
body.category = category;
|
|
115
|
+
if (path)
|
|
116
|
+
body.logical_path = path;
|
|
117
|
+
if (actor)
|
|
118
|
+
body.actor_user_id = actor;
|
|
119
|
+
return this.client.request({
|
|
120
|
+
endpoint: '/api/archivist/delete',
|
|
121
|
+
body,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Move or rename a file.
|
|
126
|
+
*
|
|
127
|
+
* @param fileId - File UUID
|
|
128
|
+
* @param options - New category and/or path
|
|
129
|
+
*/
|
|
130
|
+
async move(fileId, options) {
|
|
131
|
+
const { newCategory, newPath } = options;
|
|
132
|
+
const body = { id: fileId };
|
|
133
|
+
if (newCategory)
|
|
134
|
+
body.new_category = newCategory;
|
|
135
|
+
if (newPath)
|
|
136
|
+
body.new_logical_path = newPath;
|
|
137
|
+
return this.client.request({
|
|
138
|
+
endpoint: '/api/archivist/move',
|
|
139
|
+
body,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Update file metadata.
|
|
144
|
+
*
|
|
145
|
+
* @param fileId - File UUID
|
|
146
|
+
* @param options - New metadata
|
|
147
|
+
*/
|
|
148
|
+
async updateMeta(fileId, options) {
|
|
149
|
+
const { tags, description } = options;
|
|
150
|
+
const body = { id: fileId };
|
|
151
|
+
if (tags !== undefined)
|
|
152
|
+
body.tags = tags;
|
|
153
|
+
if (description !== undefined)
|
|
154
|
+
body.description = description;
|
|
155
|
+
return this.client.request({
|
|
156
|
+
endpoint: '/api/archivist/update',
|
|
157
|
+
body,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/namespaces/files.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Health Namespace - Service health check operations.
|
|
3
|
+
*
|
|
4
|
+
* Provides health check endpoints for the orchestrator service.
|
|
5
|
+
*/
|
|
6
|
+
import type { DominusClient } from '../lib/client.js';
|
|
7
|
+
export interface HealthStatus {
|
|
8
|
+
status: string;
|
|
9
|
+
latency_ms?: number;
|
|
10
|
+
[key: string]: unknown;
|
|
11
|
+
}
|
|
12
|
+
export declare class HealthNamespace {
|
|
13
|
+
private client;
|
|
14
|
+
constructor(client: DominusClient);
|
|
15
|
+
/**
|
|
16
|
+
* Perform comprehensive health check of orchestrator and dependencies.
|
|
17
|
+
*/
|
|
18
|
+
check(): Promise<HealthStatus>;
|
|
19
|
+
/**
|
|
20
|
+
* Simple ping check (fastest response).
|
|
21
|
+
*/
|
|
22
|
+
ping(): Promise<{
|
|
23
|
+
status: string;
|
|
24
|
+
}>;
|
|
25
|
+
/**
|
|
26
|
+
* Warmup request (triggers cold start if needed).
|
|
27
|
+
*/
|
|
28
|
+
warmup(): Promise<Record<string, unknown>>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=health.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/namespaces/health.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,qBAAa,eAAe;IACd,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEzC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC;IAoCpC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAOzC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAMjD"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Health Namespace - Service health check operations.
|
|
3
|
+
*
|
|
4
|
+
* Provides health check endpoints for the orchestrator service.
|
|
5
|
+
*/
|
|
6
|
+
import { BASE_URL } from '../lib/config.js';
|
|
7
|
+
export class HealthNamespace {
|
|
8
|
+
client;
|
|
9
|
+
constructor(client) {
|
|
10
|
+
this.client = client;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Perform comprehensive health check of orchestrator and dependencies.
|
|
14
|
+
*/
|
|
15
|
+
async check() {
|
|
16
|
+
const start = Date.now();
|
|
17
|
+
try {
|
|
18
|
+
const response = await fetch(`${BASE_URL}/api/health`, {
|
|
19
|
+
method: 'GET',
|
|
20
|
+
headers: {
|
|
21
|
+
'Accept': 'application/json',
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
const latencyMs = Date.now() - start;
|
|
25
|
+
if (!response.ok) {
|
|
26
|
+
return {
|
|
27
|
+
status: 'unhealthy',
|
|
28
|
+
latency_ms: latencyMs,
|
|
29
|
+
error: `HTTP ${response.status}`,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
const data = await response.json();
|
|
33
|
+
return {
|
|
34
|
+
status: data.status || 'healthy',
|
|
35
|
+
...data,
|
|
36
|
+
latency_ms: latencyMs,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
return {
|
|
41
|
+
status: 'unhealthy',
|
|
42
|
+
latency_ms: Date.now() - start,
|
|
43
|
+
error: error instanceof Error ? error.message : 'Connection failed',
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Simple ping check (fastest response).
|
|
49
|
+
*/
|
|
50
|
+
async ping() {
|
|
51
|
+
return this.client.request({
|
|
52
|
+
endpoint: '/api/health/ping',
|
|
53
|
+
method: 'GET',
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Warmup request (triggers cold start if needed).
|
|
58
|
+
*/
|
|
59
|
+
async warmup() {
|
|
60
|
+
return this.client.request({
|
|
61
|
+
endpoint: '/api/health/warmup',
|
|
62
|
+
method: 'GET',
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=health.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/namespaces/health.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAQ5C,MAAM,OAAO,eAAe;IACN;IAApB,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE7C;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEzB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,aAAa,EAAE;gBACrD,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,QAAQ,EAAE,kBAAkB;iBAC7B;aACF,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YAErC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO;oBACL,MAAM,EAAE,WAAW;oBACnB,UAAU,EAAE,SAAS;oBACrB,KAAK,EAAE,QAAQ,QAAQ,CAAC,MAAM,EAAE;iBACjC,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA6B,CAAC;YAC9D,OAAO;gBACL,MAAM,EAAG,IAAI,CAAC,MAAiB,IAAI,SAAS;gBAC5C,GAAG,IAAI;gBACP,UAAU,EAAE,SAAS;aACtB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,MAAM,EAAE,WAAW;gBACnB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC9B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;aACpE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACzB,QAAQ,EAAE,kBAAkB;YAC5B,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACzB,QAAQ,EAAE,oBAAoB;YAC9B,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;IACL,CAAC;CACF"}
|