@openleash/core 0.3.0 → 0.5.3
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/audit.d.ts +45 -0
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js +232 -5
- package/dist/audit.js.map +1 -1
- package/dist/file-store.d.ts +19 -0
- package/dist/file-store.d.ts.map +1 -0
- package/dist/file-store.js +233 -0
- package/dist/file-store.js.map +1 -0
- package/dist/identity-validators.d.ts +26 -0
- package/dist/identity-validators.d.ts.map +1 -0
- package/dist/identity-validators.js +664 -0
- package/dist/identity-validators.js.map +1 -0
- package/dist/identity.d.ts +250 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +244 -0
- package/dist/identity.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/keys.d.ts +2 -0
- package/dist/keys.d.ts.map +1 -1
- package/dist/keys.js +2 -0
- package/dist/keys.js.map +1 -1
- package/dist/passphrase.d.ts +6 -0
- package/dist/passphrase.d.ts.map +1 -0
- package/dist/passphrase.js +61 -0
- package/dist/passphrase.js.map +1 -0
- package/dist/plugin-loader.d.ts +6 -0
- package/dist/plugin-loader.d.ts.map +1 -0
- package/dist/plugin-loader.js +24 -0
- package/dist/plugin-loader.js.map +1 -0
- package/dist/state.d.ts +47 -1
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +142 -0
- package/dist/state.js.map +1 -1
- package/dist/store.d.ts +61 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +3 -0
- package/dist/store.js.map +1 -0
- package/dist/tokens.d.ts +35 -1
- package/dist/tokens.d.ts.map +1 -1
- package/dist/tokens.js +82 -0
- package/dist/tokens.js.map +1 -1
- package/dist/totp.d.ts +15 -0
- package/dist/totp.d.ts.map +1 -0
- package/dist/totp.js +149 -0
- package/dist/totp.js.map +1 -0
- package/dist/types.d.ts +240 -75
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +38 -3
- package/dist/types.js.map +1 -1
- package/dist/webhook.d.ts +25 -0
- package/dist/webhook.d.ts.map +1 -0
- package/dist/webhook.js +114 -0
- package/dist/webhook.js.map +1 -0
- package/package.json +8 -4
package/dist/keys.js
CHANGED
|
@@ -55,12 +55,14 @@ function generateSigningKey() {
|
|
|
55
55
|
revoked_at: null,
|
|
56
56
|
};
|
|
57
57
|
}
|
|
58
|
+
/** @deprecated Use `store.keys.write()` instead. */
|
|
58
59
|
function writeKeyFile(dataDir, key) {
|
|
59
60
|
const keysDir = path.join(dataDir, 'keys');
|
|
60
61
|
fs.mkdirSync(keysDir, { recursive: true });
|
|
61
62
|
const filePath = path.join(keysDir, `${key.kid}.json`);
|
|
62
63
|
fs.writeFileSync(filePath, JSON.stringify(key, null, 2), 'utf-8');
|
|
63
64
|
}
|
|
65
|
+
/** @deprecated Use `store.keys.read()` instead. */
|
|
64
66
|
function readKeyFile(dataDir, kid) {
|
|
65
67
|
const filePath = path.join(dataDir, 'keys', `${kid}.json`);
|
|
66
68
|
return JSON.parse(fs.readFileSync(filePath, 'utf-8'));
|
package/dist/keys.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,gDAcC;
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,gDAcC;AAGD,oCAKC;AAGD,kCAGC;AAED,kDAGC;AAED,gDAGC;AAED,8DAGC;AAhDD,oDAAsC;AACtC,4CAA8B;AAC9B,gDAAkC;AAGlC,SAAgB,kBAAkB;IAChC,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAEtD,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/E,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAElF,OAAO;QACL,GAAG;QACH,cAAc,EAAE,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC/C,eAAe,EAAE,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACjD,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,UAAU,EAAE,IAAI;KACjB,CAAC;AACJ,CAAC;AAED,oDAAoD;AACpD,SAAgB,YAAY,CAAC,OAAe,EAAE,GAAkB;IAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3C,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IACvD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC;AAED,mDAAmD;AACnD,SAAgB,WAAW,CAAC,OAAe,EAAE,GAAW;IACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC;IAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAgB,mBAAmB,CAAC,GAAkB;IACpD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IACvD,OAAO,MAAM,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,SAAgB,kBAAkB,CAAC,GAAkB;IACnD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACtD,OAAO,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,SAAgB,yBAAyB,CAAC,YAAoB;IAC5D,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAChD,OAAO,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passphrase.d.ts","sourceRoot":"","sources":["../src/passphrase.ts"],"names":[],"mappings":"AAOA,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,MAAM,GACZ;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAQhC;AAED,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAQT"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.hashPassphrase = hashPassphrase;
|
|
37
|
+
exports.verifyPassphrase = verifyPassphrase;
|
|
38
|
+
const crypto = __importStar(require("node:crypto"));
|
|
39
|
+
const SCRYPT_N = 16384;
|
|
40
|
+
const SCRYPT_R = 8;
|
|
41
|
+
const SCRYPT_P = 1;
|
|
42
|
+
const KEY_LEN = 64;
|
|
43
|
+
function hashPassphrase(passphrase, salt) {
|
|
44
|
+
const usedSalt = salt ?? crypto.randomBytes(32).toString('base64');
|
|
45
|
+
const derived = crypto.scryptSync(passphrase, usedSalt, KEY_LEN, {
|
|
46
|
+
N: SCRYPT_N,
|
|
47
|
+
r: SCRYPT_R,
|
|
48
|
+
p: SCRYPT_P,
|
|
49
|
+
});
|
|
50
|
+
return { hash: derived.toString('base64'), salt: usedSalt };
|
|
51
|
+
}
|
|
52
|
+
function verifyPassphrase(passphrase, hash, salt) {
|
|
53
|
+
const derived = crypto.scryptSync(passphrase, salt, KEY_LEN, {
|
|
54
|
+
N: SCRYPT_N,
|
|
55
|
+
r: SCRYPT_R,
|
|
56
|
+
p: SCRYPT_P,
|
|
57
|
+
});
|
|
58
|
+
const expected = Buffer.from(hash, 'base64');
|
|
59
|
+
return crypto.timingSafeEqual(derived, expected);
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=passphrase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passphrase.js","sourceRoot":"","sources":["../src/passphrase.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,wCAWC;AAED,4CAYC;AAhCD,oDAAsC;AAEtC,MAAM,QAAQ,GAAG,KAAK,CAAC;AACvB,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,OAAO,GAAG,EAAE,CAAC;AAEnB,SAAgB,cAAc,CAC5B,UAAkB,EAClB,IAAa;IAEb,MAAM,QAAQ,GAAG,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE;QAC/D,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,QAAQ;KACZ,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC9D,CAAC;AAED,SAAgB,gBAAgB,CAC9B,UAAkB,EAClB,IAAY,EACZ,IAAY;IAEZ,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;QAC3D,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,QAAQ;KACZ,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-loader.d.ts","sourceRoot":"","sources":["../src/plugin-loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,YAAY,CAAC;AAE7D,wBAAsB,aAAa,CACjC,WAAW,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,SAAS,EAC5E,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,CAyBpB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadDataStore = loadDataStore;
|
|
4
|
+
const file_store_js_1 = require("./file-store.js");
|
|
5
|
+
async function loadDataStore(storeConfig, dataDir) {
|
|
6
|
+
if (!storeConfig || storeConfig.type === 'file') {
|
|
7
|
+
return (0, file_store_js_1.createFileDataStore)(dataDir);
|
|
8
|
+
}
|
|
9
|
+
const packageName = storeConfig.type;
|
|
10
|
+
let mod;
|
|
11
|
+
try {
|
|
12
|
+
mod = await import(packageName);
|
|
13
|
+
}
|
|
14
|
+
catch (err) {
|
|
15
|
+
throw new Error(`Failed to load store plugin "${packageName}". Is it installed?\n` +
|
|
16
|
+
` npm install ${packageName}`, { cause: err });
|
|
17
|
+
}
|
|
18
|
+
const factory = (mod.default ?? mod.createDataStore);
|
|
19
|
+
if (typeof factory !== 'function') {
|
|
20
|
+
throw new Error(`Store plugin "${packageName}" must export a default function or named "createDataStore" function.`);
|
|
21
|
+
}
|
|
22
|
+
return factory(storeConfig.options);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=plugin-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../src/plugin-loader.ts"],"names":[],"mappings":";;AAGA,sCA4BC;AA/BD,mDAAsD;AAG/C,KAAK,UAAU,aAAa,CACjC,WAA4E,EAC5E,OAAe;IAEf,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAChD,OAAO,IAAA,mCAAmB,EAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;IACrC,IAAI,GAA4B,CAAC;IACjC,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,gCAAgC,WAAW,uBAAuB;YAClE,iBAAiB,WAAW,EAAE,EAC9B,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,eAAe,CAAgC,CAAC;IACpF,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,iBAAiB,WAAW,uEAAuE,CACpG,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC"}
|
package/dist/state.d.ts
CHANGED
|
@@ -1,12 +1,58 @@
|
|
|
1
|
-
import type { AgentFrontmatter, OwnerFrontmatter, StateData } from './types.js';
|
|
1
|
+
import type { AgentFrontmatter, AgentInvite, ApprovalRequestFrontmatter, OwnerFrontmatter, PolicyDraftFrontmatter, SetupInvite, StateApprovalRequestEntry, StateData } from './types.js';
|
|
2
|
+
/** @deprecated Use `store.state.getState()` instead. */
|
|
2
3
|
export declare function readState(dataDir: string): StateData;
|
|
4
|
+
/** @deprecated Use `store.state.updateState()` instead. */
|
|
3
5
|
export declare function writeState(dataDir: string, state: StateData): void;
|
|
4
6
|
export declare function parseStateMd(content: string): StateData;
|
|
7
|
+
/** @deprecated Use `store.owners.write()` instead. */
|
|
5
8
|
export declare function writeOwnerFile(dataDir: string, owner: OwnerFrontmatter, body?: string): void;
|
|
9
|
+
/** @deprecated Use `store.owners.read()` instead. */
|
|
6
10
|
export declare function readOwnerFile(dataDir: string, ownerPrincipalId: string): OwnerFrontmatter;
|
|
11
|
+
/** @deprecated Use `store.agents.write()` instead. */
|
|
7
12
|
export declare function writeAgentFile(dataDir: string, agent: AgentFrontmatter, body?: string): void;
|
|
13
|
+
/** @deprecated Use `store.agents.read()` instead. */
|
|
8
14
|
export declare function readAgentFile(dataDir: string, agentPrincipalId: string): AgentFrontmatter;
|
|
15
|
+
/** @deprecated Use `store.policies.write()` instead. */
|
|
9
16
|
export declare function writePolicyFile(dataDir: string, policyId: string, yamlContent: string): void;
|
|
17
|
+
/** @deprecated Use `store.policies.read()` instead. */
|
|
10
18
|
export declare function readPolicyFile(dataDir: string, policyId: string): string;
|
|
19
|
+
/** @deprecated Use `store.policies.delete()` instead. */
|
|
11
20
|
export declare function deletePolicyFile(dataDir: string, policyId: string): void;
|
|
21
|
+
/** @deprecated Use `store.approvalRequests.write()` instead. */
|
|
22
|
+
export declare function writeApprovalRequestFile(dataDir: string, req: ApprovalRequestFrontmatter): void;
|
|
23
|
+
/** @deprecated Use `store.approvalRequests.read()` instead. */
|
|
24
|
+
export declare function readApprovalRequestFile(dataDir: string, approvalRequestId: string): ApprovalRequestFrontmatter;
|
|
25
|
+
/** @deprecated Use `store.policyDrafts.write()` instead. */
|
|
26
|
+
export declare function writePolicyDraftFile(dataDir: string, draft: PolicyDraftFrontmatter): void;
|
|
27
|
+
/** @deprecated Use `store.policyDrafts.read()` instead. */
|
|
28
|
+
export declare function readPolicyDraftFile(dataDir: string, policyDraftId: string): PolicyDraftFrontmatter;
|
|
29
|
+
/** @deprecated Use `store.setupInvites.write()` instead. */
|
|
30
|
+
export declare function writeSetupInviteFile(dataDir: string, invite: SetupInvite): void;
|
|
31
|
+
/** @deprecated Use `store.setupInvites.read()` instead. */
|
|
32
|
+
export declare function readSetupInviteFile(dataDir: string, inviteId: string): SetupInvite;
|
|
33
|
+
/** @deprecated Use `store.setupInvites.delete()` instead. */
|
|
34
|
+
export declare function deleteSetupInviteFile(dataDir: string, inviteId: string): void;
|
|
35
|
+
/** @deprecated Use `store.agentInvites.write()` instead. */
|
|
36
|
+
export declare function writeAgentInviteFile(dataDir: string, invite: AgentInvite): void;
|
|
37
|
+
/** @deprecated Use `store.agentInvites.read()` instead. */
|
|
38
|
+
export declare function readAgentInviteFile(dataDir: string, inviteId: string): AgentInvite;
|
|
39
|
+
export declare class StateIndex {
|
|
40
|
+
private readonly dataDir;
|
|
41
|
+
private readonly statePath;
|
|
42
|
+
private cachedState;
|
|
43
|
+
private cachedMtimeMs;
|
|
44
|
+
private cachedSize;
|
|
45
|
+
/** owner_principal_id → resolved entries (non-PENDING) */
|
|
46
|
+
private resolvedByOwner;
|
|
47
|
+
constructor(dataDir: string);
|
|
48
|
+
/** Return the cached (and possibly refreshed) state. */
|
|
49
|
+
getState(): StateData;
|
|
50
|
+
/** Paginated resolved approval entries for a given owner. */
|
|
51
|
+
getResolvedApprovals(ownerId: string, limit: number, offset: number): {
|
|
52
|
+
items: StateApprovalRequestEntry[];
|
|
53
|
+
total: number;
|
|
54
|
+
};
|
|
55
|
+
private ensureFresh;
|
|
56
|
+
private rebuildApprovalIndex;
|
|
57
|
+
}
|
|
12
58
|
//# sourceMappingURL=state.d.ts.map
|
package/dist/state.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACV,MAAM,YAAY,CAAC;AAKpB,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAIpD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAKlE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAMvD;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,gBAAgB,EACvB,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI,CAON;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,gBAAgB,CAIzF;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,gBAAgB,EACvB,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI,CAON;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,gBAAgB,CAIzF;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAK5F;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGxE;AAUD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAKxE"}
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
|
package/dist/state.js
CHANGED
|
@@ -33,6 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.StateIndex = void 0;
|
|
36
37
|
exports.readState = readState;
|
|
37
38
|
exports.writeState = writeState;
|
|
38
39
|
exports.parseStateMd = parseStateMd;
|
|
@@ -43,16 +44,27 @@ exports.readAgentFile = readAgentFile;
|
|
|
43
44
|
exports.writePolicyFile = writePolicyFile;
|
|
44
45
|
exports.readPolicyFile = readPolicyFile;
|
|
45
46
|
exports.deletePolicyFile = deletePolicyFile;
|
|
47
|
+
exports.writeApprovalRequestFile = writeApprovalRequestFile;
|
|
48
|
+
exports.readApprovalRequestFile = readApprovalRequestFile;
|
|
49
|
+
exports.writePolicyDraftFile = writePolicyDraftFile;
|
|
50
|
+
exports.readPolicyDraftFile = readPolicyDraftFile;
|
|
51
|
+
exports.writeSetupInviteFile = writeSetupInviteFile;
|
|
52
|
+
exports.readSetupInviteFile = readSetupInviteFile;
|
|
53
|
+
exports.deleteSetupInviteFile = deleteSetupInviteFile;
|
|
54
|
+
exports.writeAgentInviteFile = writeAgentInviteFile;
|
|
55
|
+
exports.readAgentInviteFile = readAgentInviteFile;
|
|
46
56
|
const fs = __importStar(require("node:fs"));
|
|
47
57
|
const path = __importStar(require("node:path"));
|
|
48
58
|
const yaml_1 = require("yaml");
|
|
49
59
|
const STATE_HEADER = '# openleash state\n\n```yaml\n';
|
|
50
60
|
const STATE_FOOTER = '```\n';
|
|
61
|
+
/** @deprecated Use `store.state.getState()` instead. */
|
|
51
62
|
function readState(dataDir) {
|
|
52
63
|
const filePath = path.join(dataDir, 'state.md');
|
|
53
64
|
const content = fs.readFileSync(filePath, 'utf-8');
|
|
54
65
|
return parseStateMd(content);
|
|
55
66
|
}
|
|
67
|
+
/** @deprecated Use `store.state.updateState()` instead. */
|
|
56
68
|
function writeState(dataDir, state) {
|
|
57
69
|
const filePath = path.join(dataDir, 'state.md');
|
|
58
70
|
const yamlStr = (0, yaml_1.stringify)(state, { lineWidth: 0 });
|
|
@@ -66,6 +78,7 @@ function parseStateMd(content) {
|
|
|
66
78
|
}
|
|
67
79
|
return (0, yaml_1.parse)(yamlMatch[1]);
|
|
68
80
|
}
|
|
81
|
+
/** @deprecated Use `store.owners.write()` instead. */
|
|
69
82
|
function writeOwnerFile(dataDir, owner, body) {
|
|
70
83
|
const ownersDir = path.join(dataDir, 'owners');
|
|
71
84
|
fs.mkdirSync(ownersDir, { recursive: true });
|
|
@@ -74,11 +87,13 @@ function writeOwnerFile(dataDir, owner, body) {
|
|
|
74
87
|
const content = `---\n${frontmatter}\n---\n\n${body ?? `Owner: ${owner.display_name}`}\n`;
|
|
75
88
|
fs.writeFileSync(filePath, content, 'utf-8');
|
|
76
89
|
}
|
|
90
|
+
/** @deprecated Use `store.owners.read()` instead. */
|
|
77
91
|
function readOwnerFile(dataDir, ownerPrincipalId) {
|
|
78
92
|
const filePath = path.join(dataDir, 'owners', `${ownerPrincipalId}.md`);
|
|
79
93
|
const content = fs.readFileSync(filePath, 'utf-8');
|
|
80
94
|
return parseFrontmatter(content);
|
|
81
95
|
}
|
|
96
|
+
/** @deprecated Use `store.agents.write()` instead. */
|
|
82
97
|
function writeAgentFile(dataDir, agent, body) {
|
|
83
98
|
const agentsDir = path.join(dataDir, 'agents');
|
|
84
99
|
fs.mkdirSync(agentsDir, { recursive: true });
|
|
@@ -87,17 +102,20 @@ function writeAgentFile(dataDir, agent, body) {
|
|
|
87
102
|
const content = `---\n${frontmatter}\n---\n\n${body ?? `Agent: ${agent.agent_id}`}\n`;
|
|
88
103
|
fs.writeFileSync(filePath, content, 'utf-8');
|
|
89
104
|
}
|
|
105
|
+
/** @deprecated Use `store.agents.read()` instead. */
|
|
90
106
|
function readAgentFile(dataDir, agentPrincipalId) {
|
|
91
107
|
const filePath = path.join(dataDir, 'agents', `${agentPrincipalId}.md`);
|
|
92
108
|
const content = fs.readFileSync(filePath, 'utf-8');
|
|
93
109
|
return parseFrontmatter(content);
|
|
94
110
|
}
|
|
111
|
+
/** @deprecated Use `store.policies.write()` instead. */
|
|
95
112
|
function writePolicyFile(dataDir, policyId, yamlContent) {
|
|
96
113
|
const policiesDir = path.join(dataDir, 'policies');
|
|
97
114
|
fs.mkdirSync(policiesDir, { recursive: true });
|
|
98
115
|
const filePath = path.join(policiesDir, `${policyId}.yaml`);
|
|
99
116
|
fs.writeFileSync(filePath, yamlContent, 'utf-8');
|
|
100
117
|
}
|
|
118
|
+
/** @deprecated Use `store.policies.read()` instead. */
|
|
101
119
|
function readPolicyFile(dataDir, policyId) {
|
|
102
120
|
const filePath = path.join(dataDir, 'policies', `${policyId}.yaml`);
|
|
103
121
|
return fs.readFileSync(filePath, 'utf-8');
|
|
@@ -109,10 +127,134 @@ function parseFrontmatter(content) {
|
|
|
109
127
|
}
|
|
110
128
|
return (0, yaml_1.parse)(match[1]);
|
|
111
129
|
}
|
|
130
|
+
/** @deprecated Use `store.policies.delete()` instead. */
|
|
112
131
|
function deletePolicyFile(dataDir, policyId) {
|
|
113
132
|
const filePath = path.join(dataDir, "policies", `${policyId}.yaml`);
|
|
114
133
|
if (fs.existsSync(filePath)) {
|
|
115
134
|
fs.unlinkSync(filePath);
|
|
116
135
|
}
|
|
117
136
|
}
|
|
137
|
+
// ─── Approval request files ─────────────────────────────────────────
|
|
138
|
+
/** @deprecated Use `store.approvalRequests.write()` instead. */
|
|
139
|
+
function writeApprovalRequestFile(dataDir, req) {
|
|
140
|
+
const dir = path.join(dataDir, 'approval-requests');
|
|
141
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
142
|
+
const filePath = path.join(dir, `${req.approval_request_id}.md`);
|
|
143
|
+
const frontmatter = (0, yaml_1.stringify)(req, { lineWidth: 0 }).trim();
|
|
144
|
+
const content = `---\n${frontmatter}\n---\n\nApproval request for action: ${req.action_type}\n`;
|
|
145
|
+
fs.writeFileSync(filePath, content, 'utf-8');
|
|
146
|
+
}
|
|
147
|
+
/** @deprecated Use `store.approvalRequests.read()` instead. */
|
|
148
|
+
function readApprovalRequestFile(dataDir, approvalRequestId) {
|
|
149
|
+
const filePath = path.join(dataDir, 'approval-requests', `${approvalRequestId}.md`);
|
|
150
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
151
|
+
return parseFrontmatter(content);
|
|
152
|
+
}
|
|
153
|
+
// ─── Policy draft files ─────────────────────────────────────────────
|
|
154
|
+
/** @deprecated Use `store.policyDrafts.write()` instead. */
|
|
155
|
+
function writePolicyDraftFile(dataDir, draft) {
|
|
156
|
+
const dir = path.join(dataDir, 'policy-drafts');
|
|
157
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
158
|
+
const filePath = path.join(dir, `${draft.policy_draft_id}.md`);
|
|
159
|
+
const frontmatter = (0, yaml_1.stringify)(draft, { lineWidth: 0 }).trim();
|
|
160
|
+
const content = `---\n${frontmatter}\n---\n\nPolicy draft from agent: ${draft.agent_id}\n`;
|
|
161
|
+
fs.writeFileSync(filePath, content, 'utf-8');
|
|
162
|
+
}
|
|
163
|
+
/** @deprecated Use `store.policyDrafts.read()` instead. */
|
|
164
|
+
function readPolicyDraftFile(dataDir, policyDraftId) {
|
|
165
|
+
const filePath = path.join(dataDir, 'policy-drafts', `${policyDraftId}.md`);
|
|
166
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
167
|
+
return parseFrontmatter(content);
|
|
168
|
+
}
|
|
169
|
+
// ─── Setup invite files ─────────────────────────────────────────────
|
|
170
|
+
/** @deprecated Use `store.setupInvites.write()` instead. */
|
|
171
|
+
function writeSetupInviteFile(dataDir, invite) {
|
|
172
|
+
const dir = path.join(dataDir, 'invites');
|
|
173
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
174
|
+
const filePath = path.join(dir, `${invite.invite_id}.json`);
|
|
175
|
+
fs.writeFileSync(filePath, JSON.stringify(invite, null, 2), 'utf-8');
|
|
176
|
+
}
|
|
177
|
+
/** @deprecated Use `store.setupInvites.read()` instead. */
|
|
178
|
+
function readSetupInviteFile(dataDir, inviteId) {
|
|
179
|
+
const filePath = path.join(dataDir, 'invites', `${inviteId}.json`);
|
|
180
|
+
return JSON.parse(fs.readFileSync(filePath, 'utf-8'));
|
|
181
|
+
}
|
|
182
|
+
/** @deprecated Use `store.setupInvites.delete()` instead. */
|
|
183
|
+
function deleteSetupInviteFile(dataDir, inviteId) {
|
|
184
|
+
const filePath = path.join(dataDir, 'invites', `${inviteId}.json`);
|
|
185
|
+
if (fs.existsSync(filePath)) {
|
|
186
|
+
fs.unlinkSync(filePath);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
// ─── Agent invite files ────────────────────────────────────────────
|
|
190
|
+
/** @deprecated Use `store.agentInvites.write()` instead. */
|
|
191
|
+
function writeAgentInviteFile(dataDir, invite) {
|
|
192
|
+
const dir = path.join(dataDir, 'agent-invites');
|
|
193
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
194
|
+
const filePath = path.join(dir, `${invite.invite_id}.json`);
|
|
195
|
+
fs.writeFileSync(filePath, JSON.stringify(invite, null, 2), 'utf-8');
|
|
196
|
+
}
|
|
197
|
+
/** @deprecated Use `store.agentInvites.read()` instead. */
|
|
198
|
+
function readAgentInviteFile(dataDir, inviteId) {
|
|
199
|
+
const filePath = path.join(dataDir, 'agent-invites', `${inviteId}.json`);
|
|
200
|
+
return JSON.parse(fs.readFileSync(filePath, 'utf-8'));
|
|
201
|
+
}
|
|
202
|
+
// ─── StateIndex ─────────────────────────────────────────────────────
|
|
203
|
+
class StateIndex {
|
|
204
|
+
dataDir;
|
|
205
|
+
statePath;
|
|
206
|
+
cachedState = null;
|
|
207
|
+
cachedMtimeMs = 0;
|
|
208
|
+
cachedSize = 0;
|
|
209
|
+
/** owner_principal_id → resolved entries (non-PENDING) */
|
|
210
|
+
resolvedByOwner = new Map();
|
|
211
|
+
constructor(dataDir) {
|
|
212
|
+
this.dataDir = dataDir;
|
|
213
|
+
this.statePath = path.join(dataDir, 'state.md');
|
|
214
|
+
}
|
|
215
|
+
/** Return the cached (and possibly refreshed) state. */
|
|
216
|
+
getState() {
|
|
217
|
+
this.ensureFresh();
|
|
218
|
+
return this.cachedState;
|
|
219
|
+
}
|
|
220
|
+
/** Paginated resolved approval entries for a given owner. */
|
|
221
|
+
getResolvedApprovals(ownerId, limit, offset) {
|
|
222
|
+
this.ensureFresh();
|
|
223
|
+
const entries = this.resolvedByOwner.get(ownerId) ?? [];
|
|
224
|
+
return { items: entries.slice(offset, offset + limit), total: entries.length };
|
|
225
|
+
}
|
|
226
|
+
ensureFresh() {
|
|
227
|
+
let stat;
|
|
228
|
+
try {
|
|
229
|
+
stat = fs.statSync(this.statePath);
|
|
230
|
+
}
|
|
231
|
+
catch {
|
|
232
|
+
this.cachedState = null;
|
|
233
|
+
this.resolvedByOwner.clear();
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
if (this.cachedState && stat.mtimeMs === this.cachedMtimeMs && stat.size === this.cachedSize) {
|
|
237
|
+
return; // unchanged
|
|
238
|
+
}
|
|
239
|
+
this.cachedState = readState(this.dataDir);
|
|
240
|
+
this.cachedMtimeMs = stat.mtimeMs;
|
|
241
|
+
this.cachedSize = stat.size;
|
|
242
|
+
this.rebuildApprovalIndex();
|
|
243
|
+
}
|
|
244
|
+
rebuildApprovalIndex() {
|
|
245
|
+
this.resolvedByOwner.clear();
|
|
246
|
+
const entries = this.cachedState?.approval_requests ?? [];
|
|
247
|
+
for (const entry of entries) {
|
|
248
|
+
if (entry.status === 'PENDING')
|
|
249
|
+
continue;
|
|
250
|
+
let list = this.resolvedByOwner.get(entry.owner_principal_id);
|
|
251
|
+
if (!list) {
|
|
252
|
+
list = [];
|
|
253
|
+
this.resolvedByOwner.set(entry.owner_principal_id, list);
|
|
254
|
+
}
|
|
255
|
+
list.push(entry);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
exports.StateIndex = StateIndex;
|
|
118
260
|
//# sourceMappingURL=state.js.map
|
package/dist/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
|
package/dist/store.d.ts
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { AgentFrontmatter, AgentInvite, ApprovalRequestFrontmatter, OwnerFrontmatter, PolicyDraftFrontmatter, ServerKeyFile, SetupInvite, StateApprovalRequestEntry, StateData } from './types.js';
|
|
2
|
+
import type { AuditStore } from './audit.js';
|
|
3
|
+
export interface OwnerRepository {
|
|
4
|
+
read(ownerPrincipalId: string): OwnerFrontmatter;
|
|
5
|
+
write(owner: OwnerFrontmatter, body?: string): void;
|
|
6
|
+
}
|
|
7
|
+
export interface AgentRepository {
|
|
8
|
+
read(agentPrincipalId: string): AgentFrontmatter;
|
|
9
|
+
write(agent: AgentFrontmatter, body?: string): void;
|
|
10
|
+
}
|
|
11
|
+
export interface PolicyRepository {
|
|
12
|
+
read(policyId: string): string;
|
|
13
|
+
write(policyId: string, yamlContent: string): void;
|
|
14
|
+
delete(policyId: string): void;
|
|
15
|
+
}
|
|
16
|
+
export interface ApprovalRequestRepository {
|
|
17
|
+
read(approvalRequestId: string): ApprovalRequestFrontmatter;
|
|
18
|
+
write(req: ApprovalRequestFrontmatter): void;
|
|
19
|
+
}
|
|
20
|
+
export interface PolicyDraftRepository {
|
|
21
|
+
read(policyDraftId: string): PolicyDraftFrontmatter;
|
|
22
|
+
write(draft: PolicyDraftFrontmatter): void;
|
|
23
|
+
}
|
|
24
|
+
export interface SetupInviteRepository {
|
|
25
|
+
read(inviteId: string): SetupInvite;
|
|
26
|
+
write(invite: SetupInvite): void;
|
|
27
|
+
delete(inviteId: string): void;
|
|
28
|
+
}
|
|
29
|
+
export interface AgentInviteRepository {
|
|
30
|
+
read(inviteId: string): AgentInvite;
|
|
31
|
+
write(invite: AgentInvite): void;
|
|
32
|
+
}
|
|
33
|
+
export interface KeyRepository {
|
|
34
|
+
read(kid: string): ServerKeyFile;
|
|
35
|
+
write(key: ServerKeyFile): void;
|
|
36
|
+
generate(): ServerKeyFile;
|
|
37
|
+
}
|
|
38
|
+
export interface StateRepository {
|
|
39
|
+
getState(): StateData;
|
|
40
|
+
updateState(mutator: (state: StateData) => void): void;
|
|
41
|
+
getResolvedApprovals(ownerId: string, limit: number, offset: number): {
|
|
42
|
+
items: StateApprovalRequestEntry[];
|
|
43
|
+
total: number;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export interface DataStore {
|
|
47
|
+
owners: OwnerRepository;
|
|
48
|
+
agents: AgentRepository;
|
|
49
|
+
policies: PolicyRepository;
|
|
50
|
+
approvalRequests: ApprovalRequestRepository;
|
|
51
|
+
policyDrafts: PolicyDraftRepository;
|
|
52
|
+
setupInvites: SetupInviteRepository;
|
|
53
|
+
agentInvites: AgentInviteRepository;
|
|
54
|
+
keys: KeyRepository;
|
|
55
|
+
state: StateRepository;
|
|
56
|
+
audit: AuditStore;
|
|
57
|
+
initialize(): void;
|
|
58
|
+
}
|
|
59
|
+
/** Factory function type that store plugins must export. */
|
|
60
|
+
export type CreateDataStore = (options?: Record<string, unknown>) => DataStore | Promise<DataStore>;
|
|
61
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,0BAA0B,EAC1B,gBAAgB,EAChB,sBAAsB,EACtB,aAAa,EACb,WAAW,EACX,yBAAyB,EACzB,SAAS,EACV,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI7C,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,gBAAgB,CAAC;IACjD,KAAK,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,gBAAgB,CAAC;IACjD,KAAK,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACnD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,0BAA0B,CAAC;IAC5D,KAAK,CAAC,GAAG,EAAE,0BAA0B,GAAG,IAAI,CAAC;CAC9C;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACpD,KAAK,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC;IACpC,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC;IACpC,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC;IACjC,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,QAAQ,IAAI,aAAa,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,IAAI,SAAS,CAAC;IACtB,WAAW,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,IAAI,CAAC;IACvD,oBAAoB,CAClB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb;QAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1D;AAID,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,gBAAgB,EAAE,yBAAyB,CAAC;IAC5C,YAAY,EAAE,qBAAqB,CAAC;IACpC,YAAY,EAAE,qBAAqB,CAAC;IACpC,YAAY,EAAE,qBAAqB,CAAC;IACpC,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,IAAI,IAAI,CAAC;CACpB;AAED,4DAA4D;AAC5D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC"}
|
package/dist/store.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":""}
|
package/dist/tokens.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ServerKeyFile } from './types.js';
|
|
1
|
+
import type { ServerKeyFile, SessionClaims, ApprovalTokenClaims } from './types.js';
|
|
2
2
|
export interface ProofClaims {
|
|
3
3
|
iss: string;
|
|
4
4
|
kid: string;
|
|
@@ -35,4 +35,38 @@ export declare function verifyProofToken(token: string, keys: ServerKeyFile[]):
|
|
|
35
35
|
claims?: ProofClaims;
|
|
36
36
|
reason?: string;
|
|
37
37
|
}>;
|
|
38
|
+
export interface IssueSessionParams {
|
|
39
|
+
key: ServerKeyFile;
|
|
40
|
+
ownerPrincipalId: string;
|
|
41
|
+
ttlSeconds: number;
|
|
42
|
+
}
|
|
43
|
+
export declare function issueSessionToken(params: IssueSessionParams): Promise<{
|
|
44
|
+
token: string;
|
|
45
|
+
expiresAt: string;
|
|
46
|
+
claims: SessionClaims;
|
|
47
|
+
}>;
|
|
48
|
+
export declare function verifySessionToken(token: string, keys: ServerKeyFile[]): Promise<{
|
|
49
|
+
valid: boolean;
|
|
50
|
+
claims?: SessionClaims;
|
|
51
|
+
reason?: string;
|
|
52
|
+
}>;
|
|
53
|
+
export interface IssueApprovalTokenParams {
|
|
54
|
+
key: ServerKeyFile;
|
|
55
|
+
approvalRequestId: string;
|
|
56
|
+
ownerPrincipalId: string;
|
|
57
|
+
agentId: string;
|
|
58
|
+
actionType: string;
|
|
59
|
+
actionHash: string;
|
|
60
|
+
ttlSeconds: number;
|
|
61
|
+
}
|
|
62
|
+
export declare function issueApprovalToken(params: IssueApprovalTokenParams): Promise<{
|
|
63
|
+
token: string;
|
|
64
|
+
expiresAt: string;
|
|
65
|
+
claims: ApprovalTokenClaims;
|
|
66
|
+
}>;
|
|
67
|
+
export declare function verifyApprovalToken(token: string, keys: ServerKeyFile[]): Promise<{
|
|
68
|
+
valid: boolean;
|
|
69
|
+
claims?: ApprovalTokenClaims;
|
|
70
|
+
reason?: string;
|
|
71
|
+
}>;
|
|
38
72
|
//# sourceMappingURL=tokens.d.ts.map
|
package/dist/tokens.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"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"}
|