dominus-sdk-nodejs-staging 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.
Files changed (75) hide show
  1. package/LLM-GUIDE.md +537 -0
  2. package/README.md +585 -0
  3. package/dist/index.d.ts +191 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +224 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/lib/cache.d.ts +112 -0
  8. package/dist/lib/cache.d.ts.map +1 -0
  9. package/dist/lib/cache.js +237 -0
  10. package/dist/lib/cache.js.map +1 -0
  11. package/dist/lib/client.d.ts +38 -0
  12. package/dist/lib/client.d.ts.map +1 -0
  13. package/dist/lib/client.js +425 -0
  14. package/dist/lib/client.js.map +1 -0
  15. package/dist/lib/config.d.ts +20 -0
  16. package/dist/lib/config.d.ts.map +1 -0
  17. package/dist/lib/config.js +32 -0
  18. package/dist/lib/config.js.map +1 -0
  19. package/dist/lib/crypto.d.ts +70 -0
  20. package/dist/lib/crypto.d.ts.map +1 -0
  21. package/dist/lib/crypto.js +95 -0
  22. package/dist/lib/crypto.js.map +1 -0
  23. package/dist/lib/errors.d.ts +77 -0
  24. package/dist/lib/errors.d.ts.map +1 -0
  25. package/dist/lib/errors.js +134 -0
  26. package/dist/lib/errors.js.map +1 -0
  27. package/dist/namespaces/auth.d.ts +237 -0
  28. package/dist/namespaces/auth.d.ts.map +1 -0
  29. package/dist/namespaces/auth.js +785 -0
  30. package/dist/namespaces/auth.js.map +1 -0
  31. package/dist/namespaces/courier.d.ts +67 -0
  32. package/dist/namespaces/courier.d.ts.map +1 -0
  33. package/dist/namespaces/courier.js +90 -0
  34. package/dist/namespaces/courier.js.map +1 -0
  35. package/dist/namespaces/db.d.ts +117 -0
  36. package/dist/namespaces/db.d.ts.map +1 -0
  37. package/dist/namespaces/db.js +149 -0
  38. package/dist/namespaces/db.js.map +1 -0
  39. package/dist/namespaces/ddl.d.ts +84 -0
  40. package/dist/namespaces/ddl.d.ts.map +1 -0
  41. package/dist/namespaces/ddl.js +211 -0
  42. package/dist/namespaces/ddl.js.map +1 -0
  43. package/dist/namespaces/files.d.ts +107 -0
  44. package/dist/namespaces/files.d.ts.map +1 -0
  45. package/dist/namespaces/files.js +161 -0
  46. package/dist/namespaces/files.js.map +1 -0
  47. package/dist/namespaces/health.d.ts +30 -0
  48. package/dist/namespaces/health.d.ts.map +1 -0
  49. package/dist/namespaces/health.js +66 -0
  50. package/dist/namespaces/health.js.map +1 -0
  51. package/dist/namespaces/logs.d.ts +97 -0
  52. package/dist/namespaces/logs.d.ts.map +1 -0
  53. package/dist/namespaces/logs.js +194 -0
  54. package/dist/namespaces/logs.js.map +1 -0
  55. package/dist/namespaces/open.d.ts +27 -0
  56. package/dist/namespaces/open.d.ts.map +1 -0
  57. package/dist/namespaces/open.js +46 -0
  58. package/dist/namespaces/open.js.map +1 -0
  59. package/dist/namespaces/portal.d.ts +172 -0
  60. package/dist/namespaces/portal.d.ts.map +1 -0
  61. package/dist/namespaces/portal.js +332 -0
  62. package/dist/namespaces/portal.js.map +1 -0
  63. package/dist/namespaces/redis.d.ts +144 -0
  64. package/dist/namespaces/redis.d.ts.map +1 -0
  65. package/dist/namespaces/redis.js +218 -0
  66. package/dist/namespaces/redis.js.map +1 -0
  67. package/dist/namespaces/secrets.d.ts +50 -0
  68. package/dist/namespaces/secrets.d.ts.map +1 -0
  69. package/dist/namespaces/secrets.js +93 -0
  70. package/dist/namespaces/secrets.js.map +1 -0
  71. package/dist/namespaces/secure.d.ts +102 -0
  72. package/dist/namespaces/secure.d.ts.map +1 -0
  73. package/dist/namespaces/secure.js +151 -0
  74. package/dist/namespaces/secure.js.map +1 -0
  75. 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"}