dominus-sdk-nodejs 1.14.1 → 1.16.0
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/dist/index.d.ts +32 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +42 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/console-capture.d.ts +32 -0
- package/dist/lib/console-capture.d.ts.map +1 -0
- package/dist/lib/console-capture.js +136 -0
- package/dist/lib/console-capture.js.map +1 -0
- package/dist/lib/user-session.d.ts +60 -0
- package/dist/lib/user-session.d.ts.map +1 -0
- package/dist/lib/user-session.js +139 -0
- package/dist/lib/user-session.js.map +1 -0
- package/dist/namespaces/admin.d.ts +30 -0
- package/dist/namespaces/admin.d.ts.map +1 -1
- package/dist/namespaces/admin.js +31 -0
- package/dist/namespaces/admin.js.map +1 -1
- package/dist/namespaces/artifacts.d.ts +101 -0
- package/dist/namespaces/artifacts.d.ts.map +1 -0
- package/dist/namespaces/artifacts.js +78 -0
- package/dist/namespaces/artifacts.js.map +1 -0
- package/dist/namespaces/db.d.ts +5 -4
- package/dist/namespaces/db.d.ts.map +1 -1
- package/dist/namespaces/db.js +85 -69
- package/dist/namespaces/db.js.map +1 -1
- package/dist/namespaces/files.d.ts +2 -1
- package/dist/namespaces/files.d.ts.map +1 -1
- package/dist/namespaces/files.js.map +1 -1
- package/dist/namespaces/jobs.d.ts +113 -0
- package/dist/namespaces/jobs.d.ts.map +1 -0
- package/dist/namespaces/jobs.js +112 -0
- package/dist/namespaces/jobs.js.map +1 -0
- package/dist/namespaces/portal.d.ts +3 -0
- package/dist/namespaces/portal.d.ts.map +1 -1
- package/dist/namespaces/portal.js +44 -1
- package/dist/namespaces/portal.js.map +1 -1
- package/dist/namespaces/processor.d.ts +44 -0
- package/dist/namespaces/processor.d.ts.map +1 -0
- package/dist/namespaces/processor.js +59 -0
- package/dist/namespaces/processor.js.map +1 -0
- package/dist/namespaces/sync.d.ts +40 -0
- package/dist/namespaces/sync.d.ts.map +1 -0
- package/dist/namespaces/sync.js +40 -0
- package/dist/namespaces/sync.js.map +1 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -83,10 +83,16 @@ import { OracleNamespace } from './namespaces/oracle/index.js';
|
|
|
83
83
|
import { AdminNamespace } from './namespaces/admin.js';
|
|
84
84
|
import { AiNamespace } from './namespaces/ai.js';
|
|
85
85
|
import { WorkflowNamespace } from './namespaces/workflow.js';
|
|
86
|
+
import { SyncNamespace } from './namespaces/sync.js';
|
|
87
|
+
import { JobsNamespace } from './namespaces/jobs.js';
|
|
88
|
+
import { ProcessorNamespace } from './namespaces/processor.js';
|
|
89
|
+
import { ArtifactsNamespace } from './namespaces/artifacts.js';
|
|
86
90
|
export { DominusError, AuthenticationError, AuthorizationError, NotFoundError, ValidationError, ConflictError, ServiceError, ConnectionError, TimeoutError, SecureTableError, } from './lib/errors.js';
|
|
87
91
|
export { hashPassword, verifyPasswordLocal, hashPsk, verifyPskLocal, generatePskLocal, hashToken, generateToken, } from './lib/crypto.js';
|
|
88
92
|
export { CircuitBreaker, DominusCache, exponentialBackoffWithJitter, dominusCache, orchestratorCircuitBreaker, } from './lib/cache.js';
|
|
89
93
|
export { verifyJwtLocally, isJwtValid, delegateJwt, } from './lib/client.js';
|
|
94
|
+
export { UserSessionManager, userSessionManager } from './lib/user-session.js';
|
|
95
|
+
export type { CachedUserSession, JWTTenant } from './lib/user-session.js';
|
|
90
96
|
export type { DominusClient } from './lib/client.js';
|
|
91
97
|
export type { Secret, UpsertResult } from './namespaces/secrets.js';
|
|
92
98
|
export type { QueryOptions, QueryResult, TableInfo, ColumnInfo } from './namespaces/db.js';
|
|
@@ -100,7 +106,11 @@ export type { HealthStatus } from './namespaces/health.js';
|
|
|
100
106
|
export type { SecureQueryOptions, SecureAccessContext } from './namespaces/secure.js';
|
|
101
107
|
export type { OracleSessionOptions, VADState } from './namespaces/oracle/index.js';
|
|
102
108
|
export { OracleSession } from './namespaces/oracle/index.js';
|
|
103
|
-
export type { ReseedResult, ResetResult } from './namespaces/admin.js';
|
|
109
|
+
export type { ReseedResult, ResetResult, ExportTokensResult, TokenEntry, SeedKVResult } from './namespaces/admin.js';
|
|
110
|
+
export type { SyncResult, SyncHealth } from './namespaces/sync.js';
|
|
111
|
+
export type { JobType, JobStatus, JobMeta, EnqueueResult, JobStatusResult, JobResultResponse, DeadLetterGroup, DeadLetterListResult, JobHealthResult } from './namespaces/jobs.js';
|
|
112
|
+
export type { ProcessorHealth, ProcessAllResult, ProcessOneResult, ProcessorJobType } from './namespaces/processor.js';
|
|
113
|
+
export type { ArtifactHealth, StoreArtifactOptions, StoreArtifactResult, RetrieveArtifactResult, DeleteArtifactResult, CleanupArtifactOptions, CleanupArtifactResult, ArtifactListOptions, ArtifactListResult, ArtifactMetaEntry } from './namespaces/artifacts.js';
|
|
104
114
|
export type { WorkflowNamespace, WorkflowMetadata, WorkflowWithContent, CategoryMetadata, CategoryWithWorkflows, SaveWorkflowOptions, ListWorkflowsOptions, CreateCategoryOptions, ListCategoriesOptions, ExecutionResult, AsyncExecutionResult, } from './namespaces/workflow.js';
|
|
105
115
|
export type { AiNamespace, RagSubNamespace, ArtifactsSubNamespace, ResultsSubNamespace, WorkflowSubNamespace, Message, Guardrails, AgentRunOptions, AgentRunAsyncOptions, AgentResult, StreamChunk, CompleteOptions, CompleteResult, SttOptions, SttResult, TtsOptions, SetupOptions, SetupResult, CorpusInfo, RagEntry, RagSearchOptions, RagUpsertOptions, Artifact, CreateArtifactOptions, AsyncResult, PollOptions, WorkflowExecuteOptions, WorkflowResult, WorkflowCancelResult, } from './namespaces/ai.js';
|
|
106
116
|
/**
|
|
@@ -143,7 +153,28 @@ export declare class Dominus {
|
|
|
143
153
|
readonly ai: AiNamespace;
|
|
144
154
|
/** Workflow management (workflow-manager service) */
|
|
145
155
|
readonly workflow: WorkflowNamespace;
|
|
156
|
+
/** KV Sync operations (sync-worker) */
|
|
157
|
+
readonly sync: SyncNamespace;
|
|
158
|
+
/** Job queue operations (job-worker) */
|
|
159
|
+
readonly jobs: JobsNamespace;
|
|
160
|
+
/** Job processor operations (processor Cloud Run) */
|
|
161
|
+
readonly processor: ProcessorNamespace;
|
|
162
|
+
/** Artifact storage operations (artifact-worker) */
|
|
163
|
+
readonly artifacts: ArtifactsNamespace;
|
|
146
164
|
constructor();
|
|
165
|
+
/**
|
|
166
|
+
* Start capturing console.log/warn/error and forwarding to Dominus Logs Worker.
|
|
167
|
+
* Console output is preserved (original methods still called).
|
|
168
|
+
*/
|
|
169
|
+
captureConsole(): void;
|
|
170
|
+
/**
|
|
171
|
+
* Stop capturing console output. Restores original console methods.
|
|
172
|
+
*/
|
|
173
|
+
releaseConsole(): void;
|
|
174
|
+
/**
|
|
175
|
+
* Check if console capture is currently active.
|
|
176
|
+
*/
|
|
177
|
+
get isCapturingConsole(): boolean;
|
|
147
178
|
/**
|
|
148
179
|
* Get a secret value (shortcut for dominus.secrets.get).
|
|
149
180
|
*/
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -84,6 +84,11 @@ import { OracleNamespace } from './namespaces/oracle/index.js';
|
|
|
84
84
|
import { AdminNamespace } from './namespaces/admin.js';
|
|
85
85
|
import { AiNamespace } from './namespaces/ai.js';
|
|
86
86
|
import { WorkflowNamespace } from './namespaces/workflow.js';
|
|
87
|
+
import { SyncNamespace } from './namespaces/sync.js';
|
|
88
|
+
import { JobsNamespace } from './namespaces/jobs.js';
|
|
89
|
+
import { ProcessorNamespace } from './namespaces/processor.js';
|
|
90
|
+
import { ArtifactsNamespace } from './namespaces/artifacts.js';
|
|
91
|
+
import { installConsoleCapture, uninstallConsoleCapture, isConsoleCaptureActive } from './lib/console-capture.js';
|
|
87
92
|
// Initialize cache with token for encryption
|
|
88
93
|
import { dominusCache } from './lib/cache.js';
|
|
89
94
|
const token = process.env.DOMINUS_TOKEN;
|
|
@@ -98,6 +103,8 @@ export { hashPassword, verifyPasswordLocal, hashPsk, verifyPskLocal, generatePsk
|
|
|
98
103
|
export { CircuitBreaker, DominusCache, exponentialBackoffWithJitter, dominusCache, orchestratorCircuitBreaker, } from './lib/cache.js';
|
|
99
104
|
// Re-export JWT utilities
|
|
100
105
|
export { verifyJwtLocally, isJwtValid, delegateJwt, } from './lib/client.js';
|
|
106
|
+
// Re-export user session utilities
|
|
107
|
+
export { UserSessionManager, userSessionManager } from './lib/user-session.js';
|
|
101
108
|
export { OracleSession } from './namespaces/oracle/index.js';
|
|
102
109
|
/**
|
|
103
110
|
* Main Dominus SDK class.
|
|
@@ -139,6 +146,14 @@ export class Dominus {
|
|
|
139
146
|
ai;
|
|
140
147
|
/** Workflow management (workflow-manager service) */
|
|
141
148
|
workflow;
|
|
149
|
+
/** KV Sync operations (sync-worker) */
|
|
150
|
+
sync;
|
|
151
|
+
/** Job queue operations (job-worker) */
|
|
152
|
+
jobs;
|
|
153
|
+
/** Job processor operations (processor Cloud Run) */
|
|
154
|
+
processor;
|
|
155
|
+
/** Artifact storage operations (artifact-worker) */
|
|
156
|
+
artifacts;
|
|
142
157
|
constructor() {
|
|
143
158
|
this._client = getClient();
|
|
144
159
|
// Initialize all namespaces
|
|
@@ -158,6 +173,33 @@ export class Dominus {
|
|
|
158
173
|
this.admin = new AdminNamespace(this._client);
|
|
159
174
|
this.ai = new AiNamespace(this._client);
|
|
160
175
|
this.workflow = new WorkflowNamespace(this._client);
|
|
176
|
+
this.sync = new SyncNamespace(this._client);
|
|
177
|
+
this.jobs = new JobsNamespace(this._client);
|
|
178
|
+
this.processor = new ProcessorNamespace(this._client);
|
|
179
|
+
this.artifacts = new ArtifactsNamespace(this._client);
|
|
180
|
+
// Auto-activate console capture if env var is set
|
|
181
|
+
if (process.env.DOMINUS_CAPTURE_CONSOLE === 'true') {
|
|
182
|
+
installConsoleCapture(this.logs);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Start capturing console.log/warn/error and forwarding to Dominus Logs Worker.
|
|
187
|
+
* Console output is preserved (original methods still called).
|
|
188
|
+
*/
|
|
189
|
+
captureConsole() {
|
|
190
|
+
installConsoleCapture(this.logs);
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Stop capturing console output. Restores original console methods.
|
|
194
|
+
*/
|
|
195
|
+
releaseConsole() {
|
|
196
|
+
uninstallConsoleCapture();
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Check if console capture is currently active.
|
|
200
|
+
*/
|
|
201
|
+
get isCapturingConsole() {
|
|
202
|
+
return isConsoleCaptureActive();
|
|
161
203
|
}
|
|
162
204
|
// ========================================
|
|
163
205
|
// ROOT-LEVEL SHORTCUTS - SECRETS
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AAEH,OAAO,EAAE,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAA6B,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAoB,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Console Capture - Auto-forwards console.log/warn/error to Dominus Logs Worker.
|
|
3
|
+
*
|
|
4
|
+
* Activated by DOMINUS_CAPTURE_CONSOLE=true environment variable.
|
|
5
|
+
* Preserves original console output and never throws errors.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* // Automatic (via env var):
|
|
9
|
+
* // Set DOMINUS_CAPTURE_CONSOLE=true before importing SDK
|
|
10
|
+
*
|
|
11
|
+
* // Manual:
|
|
12
|
+
* import { dominus } from 'dominus-sdk-nodejs';
|
|
13
|
+
* dominus.captureConsole(); // start capturing
|
|
14
|
+
* dominus.releaseConsole(); // stop capturing
|
|
15
|
+
*/
|
|
16
|
+
import type { LogsNamespace } from '../namespaces/logs.js';
|
|
17
|
+
/**
|
|
18
|
+
* Install console capture wrappers.
|
|
19
|
+
* Call this after LogsNamespace is initialized.
|
|
20
|
+
*
|
|
21
|
+
* @param logs - The LogsNamespace instance to forward logs to
|
|
22
|
+
*/
|
|
23
|
+
export declare function installConsoleCapture(logs: LogsNamespace): void;
|
|
24
|
+
/**
|
|
25
|
+
* Remove console capture wrappers, restoring original behavior.
|
|
26
|
+
*/
|
|
27
|
+
export declare function uninstallConsoleCapture(): void;
|
|
28
|
+
/**
|
|
29
|
+
* Check if console capture is currently active.
|
|
30
|
+
*/
|
|
31
|
+
export declare function isConsoleCaptureActive(): boolean;
|
|
32
|
+
//# sourceMappingURL=console-capture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-capture.d.ts","sourceRoot":"","sources":["../../src/lib/console-capture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAsE3D;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CA6B/D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAU9C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Console Capture - Auto-forwards console.log/warn/error to Dominus Logs Worker.
|
|
3
|
+
*
|
|
4
|
+
* Activated by DOMINUS_CAPTURE_CONSOLE=true environment variable.
|
|
5
|
+
* Preserves original console output and never throws errors.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* // Automatic (via env var):
|
|
9
|
+
* // Set DOMINUS_CAPTURE_CONSOLE=true before importing SDK
|
|
10
|
+
*
|
|
11
|
+
* // Manual:
|
|
12
|
+
* import { dominus } from 'dominus-sdk-nodejs';
|
|
13
|
+
* dominus.captureConsole(); // start capturing
|
|
14
|
+
* dominus.releaseConsole(); // stop capturing
|
|
15
|
+
*/
|
|
16
|
+
// Store original console methods
|
|
17
|
+
const _originalLog = console.log;
|
|
18
|
+
const _originalWarn = console.warn;
|
|
19
|
+
const _originalError = console.error;
|
|
20
|
+
const _originalDebug = console.debug;
|
|
21
|
+
const _originalInfo = console.info;
|
|
22
|
+
let _installed = false;
|
|
23
|
+
let _logsRef = null;
|
|
24
|
+
// Guard against re-entrant calls (fallbackLog uses console.error)
|
|
25
|
+
let _sending = false;
|
|
26
|
+
/**
|
|
27
|
+
* Format console arguments into a single string message.
|
|
28
|
+
* Handles objects, errors, and multiple arguments like console.log does.
|
|
29
|
+
*/
|
|
30
|
+
function formatArgs(args) {
|
|
31
|
+
return args.map(arg => {
|
|
32
|
+
if (arg === null)
|
|
33
|
+
return 'null';
|
|
34
|
+
if (arg === undefined)
|
|
35
|
+
return 'undefined';
|
|
36
|
+
if (arg instanceof Error)
|
|
37
|
+
return `${arg.name}: ${arg.message}`;
|
|
38
|
+
if (typeof arg === 'object') {
|
|
39
|
+
try {
|
|
40
|
+
return JSON.stringify(arg);
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return String(arg);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return String(arg);
|
|
47
|
+
}).join(' ');
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Fire-and-forget log to Dominus Logs Worker.
|
|
51
|
+
* Never blocks, never throws.
|
|
52
|
+
*/
|
|
53
|
+
function fireLog(level, args) {
|
|
54
|
+
if (_sending || !_logsRef)
|
|
55
|
+
return;
|
|
56
|
+
_sending = true;
|
|
57
|
+
const message = formatArgs(args);
|
|
58
|
+
// Use void to fire-and-forget (no await, no .catch propagation)
|
|
59
|
+
void (async () => {
|
|
60
|
+
try {
|
|
61
|
+
switch (level) {
|
|
62
|
+
case 'debug':
|
|
63
|
+
await _logsRef.debug(message, { source: 'console' }, 'console');
|
|
64
|
+
break;
|
|
65
|
+
case 'info':
|
|
66
|
+
await _logsRef.info(message, { source: 'console' }, 'console');
|
|
67
|
+
break;
|
|
68
|
+
case 'warn':
|
|
69
|
+
await _logsRef.warn(message, { source: 'console' }, 'console');
|
|
70
|
+
break;
|
|
71
|
+
case 'error':
|
|
72
|
+
await _logsRef.error(message, { source: 'console' });
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
// Never throw from capture
|
|
78
|
+
}
|
|
79
|
+
finally {
|
|
80
|
+
_sending = false;
|
|
81
|
+
}
|
|
82
|
+
})();
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Install console capture wrappers.
|
|
86
|
+
* Call this after LogsNamespace is initialized.
|
|
87
|
+
*
|
|
88
|
+
* @param logs - The LogsNamespace instance to forward logs to
|
|
89
|
+
*/
|
|
90
|
+
export function installConsoleCapture(logs) {
|
|
91
|
+
if (_installed)
|
|
92
|
+
return;
|
|
93
|
+
_logsRef = logs;
|
|
94
|
+
_installed = true;
|
|
95
|
+
console.log = (...args) => {
|
|
96
|
+
_originalLog.apply(console, args);
|
|
97
|
+
fireLog('info', args);
|
|
98
|
+
};
|
|
99
|
+
console.info = (...args) => {
|
|
100
|
+
_originalInfo.apply(console, args);
|
|
101
|
+
fireLog('info', args);
|
|
102
|
+
};
|
|
103
|
+
console.warn = (...args) => {
|
|
104
|
+
_originalWarn.apply(console, args);
|
|
105
|
+
fireLog('warn', args);
|
|
106
|
+
};
|
|
107
|
+
console.error = (...args) => {
|
|
108
|
+
_originalError.apply(console, args);
|
|
109
|
+
fireLog('error', args);
|
|
110
|
+
};
|
|
111
|
+
console.debug = (...args) => {
|
|
112
|
+
_originalDebug.apply(console, args);
|
|
113
|
+
fireLog('debug', args);
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Remove console capture wrappers, restoring original behavior.
|
|
118
|
+
*/
|
|
119
|
+
export function uninstallConsoleCapture() {
|
|
120
|
+
if (!_installed)
|
|
121
|
+
return;
|
|
122
|
+
_installed = false;
|
|
123
|
+
_logsRef = null;
|
|
124
|
+
console.log = _originalLog;
|
|
125
|
+
console.info = _originalInfo;
|
|
126
|
+
console.warn = _originalWarn;
|
|
127
|
+
console.error = _originalError;
|
|
128
|
+
console.debug = _originalDebug;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Check if console capture is currently active.
|
|
132
|
+
*/
|
|
133
|
+
export function isConsoleCaptureActive() {
|
|
134
|
+
return _installed;
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=console-capture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-capture.js","sourceRoot":"","sources":["../../src/lib/console-capture.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User Session Manager
|
|
3
|
+
*
|
|
4
|
+
* Manages local caching of user session data derived from JWT claims.
|
|
5
|
+
* Eliminates redundant /me API calls by serving user data from local JWT decode.
|
|
6
|
+
*
|
|
7
|
+
* After Phase 1 (JWT enrichment), user JWTs contain all the data that /me returns:
|
|
8
|
+
* username, email, email_verified, tenant objects, scopes, roles, subtypes.
|
|
9
|
+
* This manager decodes the JWT locally and caches the result.
|
|
10
|
+
*/
|
|
11
|
+
/** Tenant object from enriched JWT claims */
|
|
12
|
+
export interface JWTTenant {
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
slug: string;
|
|
16
|
+
display_name: string | null;
|
|
17
|
+
}
|
|
18
|
+
/** Cached user session data (matches /me response shape) */
|
|
19
|
+
export interface CachedUserSession {
|
|
20
|
+
subject_type: 'user' | 'client';
|
|
21
|
+
user?: {
|
|
22
|
+
id: string;
|
|
23
|
+
username: string;
|
|
24
|
+
email: string;
|
|
25
|
+
email_verified: boolean;
|
|
26
|
+
};
|
|
27
|
+
client?: {
|
|
28
|
+
id: string;
|
|
29
|
+
label: string;
|
|
30
|
+
};
|
|
31
|
+
tenants: JWTTenant[];
|
|
32
|
+
active_tenant: string;
|
|
33
|
+
scopes: string[];
|
|
34
|
+
roles: string[];
|
|
35
|
+
subtypes: string[];
|
|
36
|
+
session_id: string;
|
|
37
|
+
}
|
|
38
|
+
export declare class UserSessionManager {
|
|
39
|
+
/**
|
|
40
|
+
* Try to get cached session data for a user token.
|
|
41
|
+
* Returns null if cache miss or token expired.
|
|
42
|
+
*/
|
|
43
|
+
getCachedSession(userToken: string): CachedUserSession | null;
|
|
44
|
+
/**
|
|
45
|
+
* Cache session data with TTL matching token expiry.
|
|
46
|
+
*/
|
|
47
|
+
cacheSession(userToken: string, data: CachedUserSession): void;
|
|
48
|
+
/**
|
|
49
|
+
* Try to build session from JWT claims (local decode, no network).
|
|
50
|
+
* Returns null for pre-enrichment tokens or expired tokens.
|
|
51
|
+
*/
|
|
52
|
+
buildFromToken(userToken: string): CachedUserSession | null;
|
|
53
|
+
/**
|
|
54
|
+
* Invalidate cached session for a token.
|
|
55
|
+
*/
|
|
56
|
+
invalidate(userToken: string): void;
|
|
57
|
+
}
|
|
58
|
+
/** Singleton instance */
|
|
59
|
+
export declare const userSessionManager: UserSessionManager;
|
|
60
|
+
//# sourceMappingURL=user-session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-session.d.ts","sourceRoot":"","sources":["../../src/lib/user-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,6CAA6C;AAC7C,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,GAAG,QAAQ,CAAC;IAChC,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AA+ED,qBAAa,kBAAkB;IAC7B;;;OAGG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;IAK7D;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,IAAI;IAe9D;;;OAGG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;IAc3D;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAIpC;AAED,yBAAyB;AACzB,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User Session Manager
|
|
3
|
+
*
|
|
4
|
+
* Manages local caching of user session data derived from JWT claims.
|
|
5
|
+
* Eliminates redundant /me API calls by serving user data from local JWT decode.
|
|
6
|
+
*
|
|
7
|
+
* After Phase 1 (JWT enrichment), user JWTs contain all the data that /me returns:
|
|
8
|
+
* username, email, email_verified, tenant objects, scopes, roles, subtypes.
|
|
9
|
+
* This manager decodes the JWT locally and caches the result.
|
|
10
|
+
*/
|
|
11
|
+
import crypto from 'crypto';
|
|
12
|
+
import { dominusCache } from './cache.js';
|
|
13
|
+
/** Decode JWT payload without signature verification */
|
|
14
|
+
function decodePayload(jwt) {
|
|
15
|
+
try {
|
|
16
|
+
const parts = jwt.split('.');
|
|
17
|
+
if (parts.length !== 3)
|
|
18
|
+
return null;
|
|
19
|
+
let payload = parts[1];
|
|
20
|
+
payload = payload.replace(/-/g, '+').replace(/_/g, '/');
|
|
21
|
+
const padding = 4 - (payload.length % 4);
|
|
22
|
+
if (padding !== 4)
|
|
23
|
+
payload += '='.repeat(padding);
|
|
24
|
+
return JSON.parse(Buffer.from(payload, 'base64').toString('utf-8'));
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/** Generate cache key from token hash */
|
|
31
|
+
function cacheKey(token) {
|
|
32
|
+
const hash = crypto.createHash('sha256').update(token).digest('hex').slice(0, 16);
|
|
33
|
+
return `user:session:${hash}`;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Build a /me-shaped response from JWT claims.
|
|
37
|
+
* Returns null if the JWT doesn't have enriched claims (pre-Phase1 tokens).
|
|
38
|
+
*/
|
|
39
|
+
function buildSessionFromClaims(claims) {
|
|
40
|
+
const subjectType = claims.subject_type;
|
|
41
|
+
const sub = claims.sub;
|
|
42
|
+
if (!subjectType || !sub)
|
|
43
|
+
return null;
|
|
44
|
+
// Check for enriched claims
|
|
45
|
+
if (subjectType === 'user' && (!claims.username || !claims.email)) {
|
|
46
|
+
return null; // Pre-enrichment token, can't build session locally
|
|
47
|
+
}
|
|
48
|
+
// Check tenants are objects (not just string IDs)
|
|
49
|
+
const tenants = claims.tenants;
|
|
50
|
+
if (!Array.isArray(tenants) || tenants.length === 0) {
|
|
51
|
+
// No tenants — still buildable if we have other enriched claims
|
|
52
|
+
// (user may legitimately have 0 tenants assigned)
|
|
53
|
+
}
|
|
54
|
+
else if (typeof tenants[0] === 'string') {
|
|
55
|
+
return null; // Pre-enrichment token (tenant IDs only)
|
|
56
|
+
}
|
|
57
|
+
const session = {
|
|
58
|
+
subject_type: subjectType,
|
|
59
|
+
tenants: (Array.isArray(tenants) && tenants.length > 0 && typeof tenants[0] !== 'string')
|
|
60
|
+
? tenants
|
|
61
|
+
: [],
|
|
62
|
+
active_tenant: claims.active_tenant,
|
|
63
|
+
scopes: claims.scopes || [],
|
|
64
|
+
roles: claims.roles || [],
|
|
65
|
+
subtypes: claims.subtypes || [],
|
|
66
|
+
session_id: claims.sid,
|
|
67
|
+
};
|
|
68
|
+
if (subjectType === 'user') {
|
|
69
|
+
session.user = {
|
|
70
|
+
id: sub,
|
|
71
|
+
username: claims.username,
|
|
72
|
+
email: claims.email,
|
|
73
|
+
email_verified: claims.email_verified ?? false,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
else if (subjectType === 'client') {
|
|
77
|
+
if (!claims.label)
|
|
78
|
+
return null;
|
|
79
|
+
session.client = {
|
|
80
|
+
id: sub,
|
|
81
|
+
label: claims.label,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
return session;
|
|
85
|
+
}
|
|
86
|
+
export class UserSessionManager {
|
|
87
|
+
/**
|
|
88
|
+
* Try to get cached session data for a user token.
|
|
89
|
+
* Returns null if cache miss or token expired.
|
|
90
|
+
*/
|
|
91
|
+
getCachedSession(userToken) {
|
|
92
|
+
const key = cacheKey(userToken);
|
|
93
|
+
return dominusCache.get(key);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Cache session data with TTL matching token expiry.
|
|
97
|
+
*/
|
|
98
|
+
cacheSession(userToken, data) {
|
|
99
|
+
const claims = decodePayload(userToken);
|
|
100
|
+
if (!claims)
|
|
101
|
+
return;
|
|
102
|
+
const exp = claims.exp;
|
|
103
|
+
if (!exp)
|
|
104
|
+
return;
|
|
105
|
+
const now = Math.floor(Date.now() / 1000);
|
|
106
|
+
const ttlMs = Math.max((exp - now) * 1000, 0);
|
|
107
|
+
if (ttlMs <= 0)
|
|
108
|
+
return;
|
|
109
|
+
const key = cacheKey(userToken);
|
|
110
|
+
dominusCache.set(key, data, ttlMs);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Try to build session from JWT claims (local decode, no network).
|
|
114
|
+
* Returns null for pre-enrichment tokens or expired tokens.
|
|
115
|
+
*/
|
|
116
|
+
buildFromToken(userToken) {
|
|
117
|
+
const claims = decodePayload(userToken);
|
|
118
|
+
if (!claims)
|
|
119
|
+
return null;
|
|
120
|
+
// Check expiry with 60s buffer (same as isJwtValid)
|
|
121
|
+
const exp = claims.exp;
|
|
122
|
+
if (exp) {
|
|
123
|
+
const now = Math.floor(Date.now() / 1000);
|
|
124
|
+
if (exp < now - 60)
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
return buildSessionFromClaims(claims);
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Invalidate cached session for a token.
|
|
131
|
+
*/
|
|
132
|
+
invalidate(userToken) {
|
|
133
|
+
const key = cacheKey(userToken);
|
|
134
|
+
dominusCache.delete(key);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
/** Singleton instance */
|
|
138
|
+
export const userSessionManager = new UserSessionManager();
|
|
139
|
+
//# sourceMappingURL=user-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-session.js","sourceRoot":"","sources":["../../src/lib/user-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,22 @@ export interface ResetResult {
|
|
|
18
18
|
message: string;
|
|
19
19
|
operations: string[];
|
|
20
20
|
}
|
|
21
|
+
export interface TokenEntry {
|
|
22
|
+
project_slug: string;
|
|
23
|
+
environment: string;
|
|
24
|
+
system: string;
|
|
25
|
+
token_hash: string;
|
|
26
|
+
}
|
|
27
|
+
export interface ExportTokensResult {
|
|
28
|
+
tokens: TokenEntry[];
|
|
29
|
+
count: number;
|
|
30
|
+
}
|
|
31
|
+
export interface SeedKVResult {
|
|
32
|
+
tokens_synced: number;
|
|
33
|
+
projects_synced: number;
|
|
34
|
+
public_key_synced: boolean;
|
|
35
|
+
errors: string[];
|
|
36
|
+
}
|
|
21
37
|
export declare class AdminNamespace {
|
|
22
38
|
private client;
|
|
23
39
|
constructor(client: DominusClient);
|
|
@@ -50,5 +66,19 @@ export declare class AdminNamespace {
|
|
|
50
66
|
* Uses owner_user credentials for full database access.
|
|
51
67
|
*/
|
|
52
68
|
resetAdminCategory(): Promise<ResetResult>;
|
|
69
|
+
/**
|
|
70
|
+
* Export hashed tokens from the platform database.
|
|
71
|
+
*
|
|
72
|
+
* Returns all tokens with their project_slug, environment, system, and token_hash.
|
|
73
|
+
* Requires admin or ecosystem system level.
|
|
74
|
+
*/
|
|
75
|
+
exportTokens(): Promise<ExportTokensResult>;
|
|
76
|
+
/**
|
|
77
|
+
* Seed KV store with tokens and project metadata from the database.
|
|
78
|
+
*
|
|
79
|
+
* Syncs token hashes and project info into Cloudflare KV for fast lookups.
|
|
80
|
+
* Also syncs the JWT public key. Requires admin system level.
|
|
81
|
+
*/
|
|
82
|
+
seedKV(): Promise<SeedKVResult>;
|
|
53
83
|
}
|
|
54
84
|
//# sourceMappingURL=admin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/namespaces/admin.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMtD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,qBAAa,cAAc;IACb,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAMzC;;;;;;;;;;;;OAYG;IACG,mBAAmB,IAAI,OAAO,CAAC,YAAY,CAAC;IAQlD;;;;;;;;;;;;;OAaG;IACG,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/namespaces/admin.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMtD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,qBAAa,cAAc;IACb,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAMzC;;;;;;;;;;;;OAYG;IACG,mBAAmB,IAAI,OAAO,CAAC,YAAY,CAAC;IAQlD;;;;;;;;;;;;;OAaG;IACG,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC;IAYhD;;;;;OAKG;IACG,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC;IASjD;;;;;OAKG;IACG,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;CAQtC"}
|