@modelprofile.com/authswitch 6.4.0 → 6.5.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_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/authority-runtime-contract.d.ts +2 -0
- package/dist_ts/classes.authoritybroker.d.ts +4 -1
- package/dist_ts/classes.authoritybroker.js +32 -10
- package/dist_ts/classes.authorityclient.d.ts +15 -2
- package/dist_ts/classes.authorityclient.js +86 -25
- package/dist_ts/classes.authoritydaemon.d.ts +20 -0
- package/dist_ts/classes.authoritydaemon.js +249 -6
- package/dist_ts/classes.authoritydatabase.d.ts +10 -1
- package/dist_ts/classes.authoritydatabase.js +104 -5
- package/dist_ts/classes.authoritymodels.d.ts +24 -0
- package/dist_ts/classes.authoritymodels.js +76 -1
- package/dist_ts/classes.codexmanaged.d.ts +80 -0
- package/dist_ts/classes.codexmanaged.js +343 -0
- package/dist_ts/index.d.ts +1 -0
- package/dist_ts/index.js +2 -1
- package/dist_ts/plugins.d.ts +2 -1
- package/dist_ts/plugins.js +3 -2
- package/package.json +9 -2
- package/readme.md +27 -2
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/authority-runtime-contract.ts +7 -1
- package/ts/classes.authoritybroker.ts +31 -9
- package/ts/classes.authorityclient.ts +89 -20
- package/ts/classes.authoritydaemon.ts +189 -5
- package/ts/classes.authoritydatabase.ts +98 -5
- package/ts/classes.authoritymodels.ts +40 -0
- package/ts/classes.codexmanaged.ts +339 -0
- package/ts/index.ts +1 -0
- package/ts/plugins.ts +2 -1
|
@@ -114,6 +114,22 @@ export const assertStoredAuthorityEnrollment = value => {
|
|
|
114
114
|
|| !revision(value.revision) || !uuid(value.updateId))
|
|
115
115
|
throw new Error('Invalid authswitch enrollment record.');
|
|
116
116
|
};
|
|
117
|
+
export const assertStoredAuthorityCodexHome = value => {
|
|
118
|
+
if (!object(value) || !exactKeys(value, ['id', 'accountId', 'scopeId', 'activeRun', 'createdAt', 'updateId'])
|
|
119
|
+
|| !hash(value.id) || !hash(value.accountId) || !bounded(value.scopeId)
|
|
120
|
+
|| !iso(value.createdAt) || !uuid(value.updateId)) {
|
|
121
|
+
throw new Error('Invalid managed Codex home assignment.');
|
|
122
|
+
}
|
|
123
|
+
if (value.activeRun !== null && (!object(value.activeRun)
|
|
124
|
+
|| !exactKeys(value.activeRun, ['id', 'socketPath', 'pid', 'startedAt'])
|
|
125
|
+
|| !uuid(value.activeRun.id) || !bounded(value.activeRun.socketPath, 1024)
|
|
126
|
+
|| (value.activeRun.pid !== null && (typeof value.activeRun.pid !== 'number'
|
|
127
|
+
|| !Number.isSafeInteger(value.activeRun.pid) || value.activeRun.pid <= 0))
|
|
128
|
+
|| (value.activeRun.startedAt !== null && !iso(value.activeRun.startedAt))
|
|
129
|
+
|| (value.activeRun.pid === null) !== (value.activeRun.startedAt === null))) {
|
|
130
|
+
throw new Error('Invalid managed Codex run assignment.');
|
|
131
|
+
}
|
|
132
|
+
};
|
|
117
133
|
export const assertStoredAuthorityHandoff = value => {
|
|
118
134
|
if (!object(value) || !exactKeys(value, ['id', 'accountId', 'grantId', 'nativeHomeId', 'direction', 'phase',
|
|
119
135
|
'operationId', 'sourceDigest', 'verifiedSourceDigest', 'backupDigest', 'revision', 'statusObservedAt', 'updateId'])
|
|
@@ -566,6 +582,65 @@ let AuthSwitchAuthorityEnrollmentModel = (() => {
|
|
|
566
582
|
return AuthSwitchAuthorityEnrollmentModel = _classThis;
|
|
567
583
|
})();
|
|
568
584
|
export { AuthSwitchAuthorityEnrollmentModel };
|
|
585
|
+
let AuthSwitchAuthorityCodexHomeModel = (() => {
|
|
586
|
+
let _classDecorators = [plugins.smartdata.compoundIndex({ name: 'authority_codex_home_account_id', key: { accountId: 1, id: 1 } }), plugins.smartdata.managed({ collectionName: 'authswitch_authority_codex_homes' }), plugins.smartdata.exactPersistence({ assertDocument: assertStoredAuthorityCodexHome })];
|
|
587
|
+
let _classDescriptor;
|
|
588
|
+
let _classExtraInitializers = [];
|
|
589
|
+
let _classThis;
|
|
590
|
+
let _classSuper = plugins.smartdata.SmartDataDbDoc;
|
|
591
|
+
let _id_decorators;
|
|
592
|
+
let _id_initializers = [];
|
|
593
|
+
let _id_extraInitializers = [];
|
|
594
|
+
let _accountId_decorators;
|
|
595
|
+
let _accountId_initializers = [];
|
|
596
|
+
let _accountId_extraInitializers = [];
|
|
597
|
+
let _scopeId_decorators;
|
|
598
|
+
let _scopeId_initializers = [];
|
|
599
|
+
let _scopeId_extraInitializers = [];
|
|
600
|
+
let _activeRun_decorators;
|
|
601
|
+
let _activeRun_initializers = [];
|
|
602
|
+
let _activeRun_extraInitializers = [];
|
|
603
|
+
let _createdAt_decorators;
|
|
604
|
+
let _createdAt_initializers = [];
|
|
605
|
+
let _createdAt_extraInitializers = [];
|
|
606
|
+
let _updateId_decorators;
|
|
607
|
+
let _updateId_initializers = [];
|
|
608
|
+
let _updateId_extraInitializers = [];
|
|
609
|
+
var AuthSwitchAuthorityCodexHomeModel = class extends _classSuper {
|
|
610
|
+
static { _classThis = this; }
|
|
611
|
+
static {
|
|
612
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
613
|
+
_id_decorators = [plugins.smartdata.unI()];
|
|
614
|
+
_accountId_decorators = [plugins.smartdata.svDb()];
|
|
615
|
+
_scopeId_decorators = [plugins.smartdata.svDb()];
|
|
616
|
+
_activeRun_decorators = [plugins.smartdata.svDb()];
|
|
617
|
+
_createdAt_decorators = [plugins.smartdata.svDb()];
|
|
618
|
+
_updateId_decorators = [plugins.smartdata.svDb()];
|
|
619
|
+
__esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
|
|
620
|
+
__esDecorate(null, null, _accountId_decorators, { kind: "field", name: "accountId", static: false, private: false, access: { has: obj => "accountId" in obj, get: obj => obj.accountId, set: (obj, value) => { obj.accountId = value; } }, metadata: _metadata }, _accountId_initializers, _accountId_extraInitializers);
|
|
621
|
+
__esDecorate(null, null, _scopeId_decorators, { kind: "field", name: "scopeId", static: false, private: false, access: { has: obj => "scopeId" in obj, get: obj => obj.scopeId, set: (obj, value) => { obj.scopeId = value; } }, metadata: _metadata }, _scopeId_initializers, _scopeId_extraInitializers);
|
|
622
|
+
__esDecorate(null, null, _activeRun_decorators, { kind: "field", name: "activeRun", static: false, private: false, access: { has: obj => "activeRun" in obj, get: obj => obj.activeRun, set: (obj, value) => { obj.activeRun = value; } }, metadata: _metadata }, _activeRun_initializers, _activeRun_extraInitializers);
|
|
623
|
+
__esDecorate(null, null, _createdAt_decorators, { kind: "field", name: "createdAt", static: false, private: false, access: { has: obj => "createdAt" in obj, get: obj => obj.createdAt, set: (obj, value) => { obj.createdAt = value; } }, metadata: _metadata }, _createdAt_initializers, _createdAt_extraInitializers);
|
|
624
|
+
__esDecorate(null, null, _updateId_decorators, { kind: "field", name: "updateId", static: false, private: false, access: { has: obj => "updateId" in obj, get: obj => obj.updateId, set: (obj, value) => { obj.updateId = value; } }, metadata: _metadata }, _updateId_initializers, _updateId_extraInitializers);
|
|
625
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
626
|
+
AuthSwitchAuthorityCodexHomeModel = _classThis = _classDescriptor.value;
|
|
627
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
628
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
629
|
+
}
|
|
630
|
+
id = __runInitializers(this, _id_initializers, void 0);
|
|
631
|
+
accountId = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _accountId_initializers, void 0));
|
|
632
|
+
scopeId = (__runInitializers(this, _accountId_extraInitializers), __runInitializers(this, _scopeId_initializers, void 0));
|
|
633
|
+
activeRun = (__runInitializers(this, _scopeId_extraInitializers), __runInitializers(this, _activeRun_initializers, void 0));
|
|
634
|
+
createdAt = (__runInitializers(this, _activeRun_extraInitializers), __runInitializers(this, _createdAt_initializers, void 0));
|
|
635
|
+
updateId = (__runInitializers(this, _createdAt_extraInitializers), __runInitializers(this, _updateId_initializers, void 0));
|
|
636
|
+
constructor() {
|
|
637
|
+
super(...arguments);
|
|
638
|
+
__runInitializers(this, _updateId_extraInitializers);
|
|
639
|
+
}
|
|
640
|
+
};
|
|
641
|
+
return AuthSwitchAuthorityCodexHomeModel = _classThis;
|
|
642
|
+
})();
|
|
643
|
+
export { AuthSwitchAuthorityCodexHomeModel };
|
|
569
644
|
let AuthSwitchAuthorityHandoffModel = (() => {
|
|
570
645
|
let _classDecorators = [plugins.smartdata.compoundIndex({ name: 'authority_handoff_grant_id', key: { grantId: 1, id: 1 } }), plugins.smartdata.managed({ collectionName: 'authswitch_authority_handoffs' }), plugins.smartdata.exactPersistence({ assertDocument: assertStoredAuthorityHandoff })];
|
|
571
646
|
let _classDescriptor;
|
|
@@ -815,4 +890,4 @@ let AuthSwitchAuthorityEventModel = (() => {
|
|
|
815
890
|
return AuthSwitchAuthorityEventModel = _classThis;
|
|
816
891
|
})();
|
|
817
892
|
export { AuthSwitchAuthorityEventModel };
|
|
818
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hdXRob3JpdHltb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jbGFzc2VzLmF1dGhvcml0eW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFrSHhDLE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBYyxFQUFvQyxFQUFFLENBQ2xFLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7T0FDakUsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDckUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUE4QixFQUFFLElBQXVCLEVBQVcsRUFBRSxDQUNyRixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzVGLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBYyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQW1CLEVBQUUsQ0FDN0QsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQy9HLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBYyxFQUFtQixFQUFFLENBQzlDLE9BQU8sS0FBSyxLQUFL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
|
|
893
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hdXRob3JpdHltb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jbGFzc2VzLmF1dGhvcml0eW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUE0SHhDLE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBYyxFQUFvQyxFQUFFLENBQ2xFLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7T0FDakUsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDckUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUE4QixFQUFFLElBQXVCLEVBQVcsRUFBRSxDQUNyRixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzVGLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBYyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQW1CLEVBQUUsQ0FDN0QsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQy9HLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBYyxFQUFtQixFQUFFLENBQzlDLE9BQU8sS0FBSyxLQUFL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
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
import type { AuthSwitchAuthorityBroker } from './classes.authoritybroker.js';
|
|
3
|
+
export interface IAuthSwitchManagedCodexOptions {
|
|
4
|
+
/** Private runtime root; only the disposable control socket lives here. */
|
|
5
|
+
runtimeDirectory: string;
|
|
6
|
+
/** Caller-owned, durable native Codex state home, reserved to one account and scope by SmartData. */
|
|
7
|
+
codexHomeDirectory: string;
|
|
8
|
+
workspaceDirectory: string;
|
|
9
|
+
executable?: string;
|
|
10
|
+
/** The daemon is the sole owner of this binding and its capability. */
|
|
11
|
+
broker: AuthSwitchAuthorityBroker;
|
|
12
|
+
bindingId: string;
|
|
13
|
+
capability: string;
|
|
14
|
+
onNotification?: (notification: plugins.crossharness.ICodexAppServerNotification) => void;
|
|
15
|
+
onServerRequest?: (request: plugins.crossharness.ICodexAppServerRequest, reply: {
|
|
16
|
+
respond: (result: unknown) => boolean;
|
|
17
|
+
reject: (code: number, message: string) => boolean;
|
|
18
|
+
}) => void;
|
|
19
|
+
onUnavailable?: () => void;
|
|
20
|
+
onPreparedRun: (socketPath: string) => Promise<void>;
|
|
21
|
+
onChildSpawned: (pid: number, startedAt: string) => Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
export interface IAuthSwitchCodexInteractiveCommand {
|
|
24
|
+
executable: string;
|
|
25
|
+
args: string[];
|
|
26
|
+
cwd: string;
|
|
27
|
+
env: NodeJS.ProcessEnv;
|
|
28
|
+
}
|
|
29
|
+
/** Same-user process inspection: a unique private --listen socket is the pre-PID crash identity. */
|
|
30
|
+
export declare const findManagedCodexProcess: (socketPath: string) => Promise<{
|
|
31
|
+
pid: number;
|
|
32
|
+
startedAt: string;
|
|
33
|
+
} | null>;
|
|
34
|
+
/** Daemon-owned Codex app-server. Only access tokens, never refresh grants, enter Codex. */
|
|
35
|
+
export declare class AuthSwitchManagedCodex {
|
|
36
|
+
private readonly options;
|
|
37
|
+
private child?;
|
|
38
|
+
private childExited?;
|
|
39
|
+
private client?;
|
|
40
|
+
private runDirectory?;
|
|
41
|
+
private homeDirectory?;
|
|
42
|
+
private socketPath?;
|
|
43
|
+
private workspaceId?;
|
|
44
|
+
private grantedGeneration?;
|
|
45
|
+
private startPromise?;
|
|
46
|
+
private closePromise?;
|
|
47
|
+
private closed;
|
|
48
|
+
private ready;
|
|
49
|
+
constructor(options: IAuthSwitchManagedCodexOptions);
|
|
50
|
+
get isReady(): boolean;
|
|
51
|
+
private environment;
|
|
52
|
+
private requireVersion;
|
|
53
|
+
start(): Promise<void>;
|
|
54
|
+
private performStart;
|
|
55
|
+
private handleServerRequest;
|
|
56
|
+
/** The interactive CLI attaches to the owned app-server; the daemon remains its auth control peer. */
|
|
57
|
+
interactiveCommand(): IAuthSwitchCodexInteractiveCommand;
|
|
58
|
+
/** Native app-server thread/turn API for noninteractive consumers; notifications go to onNotification. */
|
|
59
|
+
startThread(options: {
|
|
60
|
+
approvalPolicy: 'never' | 'on-request';
|
|
61
|
+
model?: string;
|
|
62
|
+
signal?: AbortSignal;
|
|
63
|
+
}): Promise<string>;
|
|
64
|
+
resumeThread(threadId: string, options: {
|
|
65
|
+
approvalPolicy: 'never' | 'on-request';
|
|
66
|
+
model?: string;
|
|
67
|
+
signal?: AbortSignal;
|
|
68
|
+
}): Promise<void>;
|
|
69
|
+
startTextTurn(text: string, options: {
|
|
70
|
+
approvalPolicy: 'never' | 'on-request';
|
|
71
|
+
model?: string;
|
|
72
|
+
threadId?: string;
|
|
73
|
+
signal?: AbortSignal;
|
|
74
|
+
}): Promise<{
|
|
75
|
+
threadId: string;
|
|
76
|
+
turnId: string;
|
|
77
|
+
}>;
|
|
78
|
+
close(): Promise<void>;
|
|
79
|
+
private performClose;
|
|
80
|
+
}
|