@mandate-os/sdk 0.1.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/README.md +28 -0
- package/agent-client.d.ts +47 -0
- package/agent-client.d.ts.map +1 -0
- package/agent-client.js +121 -0
- package/agent-client.js.map +1 -0
- package/agent-middleware.d.ts +83 -0
- package/agent-middleware.d.ts.map +1 -0
- package/agent-middleware.js +91 -0
- package/agent-middleware.js.map +1 -0
- package/contracts.d.ts +191 -0
- package/contracts.d.ts.map +1 -0
- package/contracts.js +2 -0
- package/contracts.js.map +1 -0
- package/enforced-capabilities.d.ts +81 -0
- package/enforced-capabilities.d.ts.map +1 -0
- package/enforced-capabilities.js +89 -0
- package/enforced-capabilities.js.map +1 -0
- package/index.d.ts +7 -0
- package/index.d.ts.map +1 -0
- package/index.js +7 -0
- package/index.js.map +1 -0
- package/mandates.d.ts +35 -0
- package/mandates.d.ts.map +1 -0
- package/mandates.js +32 -0
- package/mandates.js.map +1 -0
- package/package.json +20 -0
- package/policy-gateway.d.ts +78 -0
- package/policy-gateway.d.ts.map +1 -0
- package/policy-gateway.js +573 -0
- package/policy-gateway.js.map +1 -0
package/README.md
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# `@mandate-os/sdk`
|
|
2
|
+
|
|
3
|
+
Tiny TypeScript SDK for MandateOS agent integrations.
|
|
4
|
+
|
|
5
|
+
It provides:
|
|
6
|
+
|
|
7
|
+
- `MandateOsAgentClient` for issuing mandates, evaluating actions, minting execution grants, and calling enforced execute routes
|
|
8
|
+
- `MandateOsAgentMiddleware` for the common evaluate -> require -> grant -> execute control loop
|
|
9
|
+
- The minimal public types needed by agent-side integrations
|
|
10
|
+
|
|
11
|
+
Current enforced GitHub helpers cover issue labeling and keeping pull requests in draft through MandateOS-owned execute routes.
|
|
12
|
+
|
|
13
|
+
Example:
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
import { MandateOsAgentClient, MandateOsAgentMiddleware } from '@mandate-os/sdk';
|
|
17
|
+
|
|
18
|
+
const client = new MandateOsAgentClient({
|
|
19
|
+
baseUrl: 'http://localhost:4330',
|
|
20
|
+
bearerToken: process.env.MANDATE_OS_AGENT_TOKEN!,
|
|
21
|
+
defaultSource: 'codex.repo_steward',
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
const mandate = new MandateOsAgentMiddleware(client, {
|
|
25
|
+
mandateId: 'mdt_123',
|
|
26
|
+
source: 'codex.repo_steward',
|
|
27
|
+
});
|
|
28
|
+
```
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { ApiErrorIssue, ApiSuccessPayload, EnforcedExecutionInput, EnforcedExecutionResult, ExecutionGrantIssueInput, ExecutionGrantRecord, GitHubIssueLabelExecutionInput, GitHubIssueLabelExecutionResult, GitHubPullRequestDraftExecutionInput, GitHubPullRequestDraftExecutionResult, MandateRecord, RuntimeActionEvaluationInput, RuntimeSimulationBatch, SignatureVerificationResult } from './contracts';
|
|
2
|
+
import { type EnforcedExecutionKind } from './enforced-capabilities';
|
|
3
|
+
import type { MandateDraft } from './mandates';
|
|
4
|
+
type FetchLike = typeof fetch;
|
|
5
|
+
type MutationOptions = {
|
|
6
|
+
idempotencyKey?: string;
|
|
7
|
+
signal?: AbortSignal;
|
|
8
|
+
};
|
|
9
|
+
export type MandateOsAgentClientOptions = {
|
|
10
|
+
baseUrl: string;
|
|
11
|
+
bearerToken: string;
|
|
12
|
+
fetchImpl?: FetchLike;
|
|
13
|
+
defaultSource?: string;
|
|
14
|
+
};
|
|
15
|
+
export type MandateOsClientResponse<T> = ApiSuccessPayload<T> & {
|
|
16
|
+
headers: {
|
|
17
|
+
idempotencyKey: string | null;
|
|
18
|
+
idempotencyStatus: string | null;
|
|
19
|
+
originRequestId: string | null;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export declare class MandateOsAgentClientError extends Error {
|
|
23
|
+
readonly status: number;
|
|
24
|
+
readonly code?: string | undefined;
|
|
25
|
+
readonly requestId?: string | undefined;
|
|
26
|
+
readonly issues?: ApiErrorIssue[] | undefined;
|
|
27
|
+
constructor(message: string, status: number, code?: string | undefined, requestId?: string | undefined, issues?: ApiErrorIssue[] | undefined);
|
|
28
|
+
}
|
|
29
|
+
export declare class MandateOsAgentClient {
|
|
30
|
+
private readonly baseUrl;
|
|
31
|
+
private readonly fetchImpl;
|
|
32
|
+
private readonly bearerToken;
|
|
33
|
+
private readonly defaultSource?;
|
|
34
|
+
constructor(options: MandateOsAgentClientOptions);
|
|
35
|
+
issueMandate(draft: MandateDraft, options?: MutationOptions): Promise<MandateOsClientResponse<MandateRecord>>;
|
|
36
|
+
evaluateActions(input: RuntimeActionEvaluationInput, options?: MutationOptions): Promise<MandateOsClientResponse<RuntimeSimulationBatch>>;
|
|
37
|
+
issueExecutionGrant(input: ExecutionGrantIssueInput, options?: MutationOptions): Promise<MandateOsClientResponse<ExecutionGrantRecord>>;
|
|
38
|
+
executeEnforcedAction<K extends EnforcedExecutionKind>(kind: K, input: EnforcedExecutionInput<K>, options?: MutationOptions): Promise<MandateOsClientResponse<EnforcedExecutionResult<K>>>;
|
|
39
|
+
executeGitHubIssueLabel(input: GitHubIssueLabelExecutionInput, options?: MutationOptions): Promise<MandateOsClientResponse<GitHubIssueLabelExecutionResult>>;
|
|
40
|
+
executeGitHubPullRequestDraft(input: GitHubPullRequestDraftExecutionInput, options?: MutationOptions): Promise<MandateOsClientResponse<GitHubPullRequestDraftExecutionResult>>;
|
|
41
|
+
verifyMandate(mandateId: string, signal?: AbortSignal): Promise<MandateOsClientResponse<SignatureVerificationResult>>;
|
|
42
|
+
verifyReceipt(receiptId: string, signal?: AbortSignal): Promise<MandateOsClientResponse<SignatureVerificationResult>>;
|
|
43
|
+
verifyExecutionGrant(grantId: string, signal?: AbortSignal): Promise<MandateOsClientResponse<SignatureVerificationResult>>;
|
|
44
|
+
private request;
|
|
45
|
+
}
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=agent-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-client.d.ts","sourceRoot":"","sources":["../../../packages/mandate-os-sdk/src/agent-client.ts"],"names":[],"mappings":"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"}
|
package/agent-client.js
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { getEnforcedExecutionCapability, } from './enforced-capabilities';
|
|
2
|
+
export class MandateOsAgentClientError extends Error {
|
|
3
|
+
constructor(message, status, code, requestId, issues) {
|
|
4
|
+
super(message);
|
|
5
|
+
this.status = status;
|
|
6
|
+
this.code = code;
|
|
7
|
+
this.requestId = requestId;
|
|
8
|
+
this.issues = issues;
|
|
9
|
+
this.name = 'MandateOsAgentClientError';
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export class MandateOsAgentClient {
|
|
13
|
+
constructor(options) {
|
|
14
|
+
this.baseUrl = options.baseUrl.replace(/\/+$/, '');
|
|
15
|
+
this.fetchImpl = options.fetchImpl || fetch;
|
|
16
|
+
this.bearerToken = options.bearerToken;
|
|
17
|
+
this.defaultSource = options.defaultSource?.trim() || undefined;
|
|
18
|
+
}
|
|
19
|
+
async issueMandate(draft, options) {
|
|
20
|
+
return this.request('/api/v1/mandates', {
|
|
21
|
+
method: 'POST',
|
|
22
|
+
body: JSON.stringify(draft),
|
|
23
|
+
idempotencyKey: options?.idempotencyKey,
|
|
24
|
+
signal: options?.signal,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
async evaluateActions(input, options) {
|
|
28
|
+
const payload = {
|
|
29
|
+
...input,
|
|
30
|
+
source: input.source || this.defaultSource,
|
|
31
|
+
};
|
|
32
|
+
return this.request('/api/v1/runtime/evaluate-actions', {
|
|
33
|
+
method: 'POST',
|
|
34
|
+
body: JSON.stringify(payload),
|
|
35
|
+
idempotencyKey: options?.idempotencyKey,
|
|
36
|
+
signal: options?.signal,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
async issueExecutionGrant(input, options) {
|
|
40
|
+
return this.request('/api/v1/runtime/execution-grants', {
|
|
41
|
+
method: 'POST',
|
|
42
|
+
body: JSON.stringify(input),
|
|
43
|
+
idempotencyKey: options?.idempotencyKey,
|
|
44
|
+
signal: options?.signal,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
async executeEnforcedAction(kind, input, options) {
|
|
48
|
+
const capability = getEnforcedExecutionCapability(kind);
|
|
49
|
+
return this.request(capability.executePath, {
|
|
50
|
+
method: 'POST',
|
|
51
|
+
body: JSON.stringify(input),
|
|
52
|
+
idempotencyKey: options?.idempotencyKey,
|
|
53
|
+
signal: options?.signal,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
async executeGitHubIssueLabel(input, options) {
|
|
57
|
+
return this.executeEnforcedAction('github.issue.label', input, options);
|
|
58
|
+
}
|
|
59
|
+
async executeGitHubPullRequestDraft(input, options) {
|
|
60
|
+
return this.executeEnforcedAction('github.pull_request.draft', input, options);
|
|
61
|
+
}
|
|
62
|
+
async verifyMandate(mandateId, signal) {
|
|
63
|
+
return this.request(`/api/v1/mandates/${encodeURIComponent(mandateId)}/verify`, {
|
|
64
|
+
method: 'GET',
|
|
65
|
+
signal,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
async verifyReceipt(receiptId, signal) {
|
|
69
|
+
return this.request(`/api/v1/receipts/${encodeURIComponent(receiptId)}/verify`, {
|
|
70
|
+
method: 'GET',
|
|
71
|
+
signal,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
async verifyExecutionGrant(grantId, signal) {
|
|
75
|
+
return this.request(`/api/v1/execution-grants/${encodeURIComponent(grantId)}/verify`, {
|
|
76
|
+
method: 'GET',
|
|
77
|
+
signal,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
async request(path, init) {
|
|
81
|
+
const method = (init.method || 'GET').toUpperCase();
|
|
82
|
+
const headers = new Headers(init.headers);
|
|
83
|
+
headers.set('accept', 'application/json');
|
|
84
|
+
headers.set('authorization', `Bearer ${this.bearerToken}`);
|
|
85
|
+
if (init.body !== undefined && !headers.has('content-type')) {
|
|
86
|
+
headers.set('content-type', 'application/json');
|
|
87
|
+
}
|
|
88
|
+
if (['POST', 'PUT', 'PATCH', 'DELETE'].includes(method) &&
|
|
89
|
+
!headers.has('idempotency-key')) {
|
|
90
|
+
headers.set('idempotency-key', init.idempotencyKey || createIdempotencyKey());
|
|
91
|
+
}
|
|
92
|
+
const response = await this.fetchImpl(`${this.baseUrl}${path}`, {
|
|
93
|
+
...init,
|
|
94
|
+
method,
|
|
95
|
+
headers,
|
|
96
|
+
});
|
|
97
|
+
const payload = (await response.json().catch(() => null));
|
|
98
|
+
if (!response.ok || !payload?.meta || payload.data === undefined) {
|
|
99
|
+
throw new MandateOsAgentClientError(payload?.error?.issues?.[0]?.message ||
|
|
100
|
+
payload?.error?.message ||
|
|
101
|
+
'MandateOS request failed.', response.status, payload?.error?.code, payload?.meta?.requestId, payload?.error?.issues);
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
data: payload.data,
|
|
105
|
+
meta: payload.meta,
|
|
106
|
+
headers: {
|
|
107
|
+
idempotencyKey: response.headers.get('x-idempotency-key'),
|
|
108
|
+
idempotencyStatus: response.headers.get('x-idempotency-status'),
|
|
109
|
+
originRequestId: response.headers.get('x-idempotency-origin-request-id'),
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function createIdempotencyKey() {
|
|
115
|
+
if (typeof crypto !== 'undefined' &&
|
|
116
|
+
typeof crypto.randomUUID === 'function') {
|
|
117
|
+
return `agent_${crypto.randomUUID()}`;
|
|
118
|
+
}
|
|
119
|
+
return `agent_${Date.now().toString(36)}`;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=agent-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-client.js","sourceRoot":"","sources":["../../../packages/mandate-os-sdk/src/agent-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { EnforcedExecutionPayloadByKind, EnforcedExecutionResultByKind, ExecutionGrantRecord, GitHubIssueLabelExecutionPayload, GitHubIssueLabelExecutionResult, GitHubPullRequestDraftExecutionPayload, GitHubPullRequestDraftExecutionResult, ReceiptRecord, RuntimeSimulationBatch } from './contracts';
|
|
2
|
+
import { type EnforcedExecutionKind } from './enforced-capabilities';
|
|
3
|
+
import type { ActionScenario } from './mandates';
|
|
4
|
+
import { MandateOsAgentClient } from './agent-client';
|
|
5
|
+
type BaseActionOptions = {
|
|
6
|
+
mandateId?: string;
|
|
7
|
+
source?: string;
|
|
8
|
+
details?: Record<string, unknown>;
|
|
9
|
+
evaluationIdempotencyKey?: string;
|
|
10
|
+
};
|
|
11
|
+
type GitHubIssueLabelActionOptions = BaseActionOptions & {
|
|
12
|
+
action: ActionScenario;
|
|
13
|
+
payload: GitHubIssueLabelExecutionPayload;
|
|
14
|
+
grantExpiresInSeconds?: number;
|
|
15
|
+
grantIdempotencyKey?: string;
|
|
16
|
+
executeIdempotencyKey?: string;
|
|
17
|
+
};
|
|
18
|
+
type GitHubPullRequestDraftActionOptions = BaseActionOptions & {
|
|
19
|
+
action: ActionScenario;
|
|
20
|
+
payload: GitHubPullRequestDraftExecutionPayload;
|
|
21
|
+
grantExpiresInSeconds?: number;
|
|
22
|
+
grantIdempotencyKey?: string;
|
|
23
|
+
executeIdempotencyKey?: string;
|
|
24
|
+
};
|
|
25
|
+
type EnforcedActionOptions<K extends EnforcedExecutionKind> = BaseActionOptions & {
|
|
26
|
+
kind: K;
|
|
27
|
+
action: ActionScenario;
|
|
28
|
+
payload: EnforcedExecutionPayloadByKind[K];
|
|
29
|
+
grantExpiresInSeconds?: number;
|
|
30
|
+
grantIdempotencyKey?: string;
|
|
31
|
+
executeIdempotencyKey?: string;
|
|
32
|
+
};
|
|
33
|
+
export declare class MandateOsPolicyDecisionError extends Error {
|
|
34
|
+
readonly receipt: ReceiptRecord;
|
|
35
|
+
constructor(receipt: ReceiptRecord);
|
|
36
|
+
}
|
|
37
|
+
export declare class MandateOsAgentMiddleware {
|
|
38
|
+
private readonly client;
|
|
39
|
+
private readonly defaults;
|
|
40
|
+
constructor(client: MandateOsAgentClient, defaults?: {
|
|
41
|
+
mandateId?: string;
|
|
42
|
+
source?: string;
|
|
43
|
+
details?: Record<string, unknown>;
|
|
44
|
+
});
|
|
45
|
+
evaluateAction(input: BaseActionOptions & {
|
|
46
|
+
action: ActionScenario;
|
|
47
|
+
}): Promise<{
|
|
48
|
+
evaluation: RuntimeSimulationBatch;
|
|
49
|
+
receipt: ReceiptRecord;
|
|
50
|
+
}>;
|
|
51
|
+
requireAllowed(input: BaseActionOptions & {
|
|
52
|
+
action: ActionScenario;
|
|
53
|
+
}): Promise<{
|
|
54
|
+
evaluation: RuntimeSimulationBatch;
|
|
55
|
+
receipt: ReceiptRecord;
|
|
56
|
+
}>;
|
|
57
|
+
withMandateCheck<T>(input: BaseActionOptions & {
|
|
58
|
+
action: ActionScenario;
|
|
59
|
+
}, executor: (input: {
|
|
60
|
+
receipt: ReceiptRecord;
|
|
61
|
+
evaluation: RuntimeSimulationBatch;
|
|
62
|
+
}) => Promise<T>): Promise<T>;
|
|
63
|
+
executeGitHubIssueLabel(input: GitHubIssueLabelActionOptions): Promise<{
|
|
64
|
+
evaluation: RuntimeSimulationBatch;
|
|
65
|
+
receipt: ReceiptRecord;
|
|
66
|
+
grant: ExecutionGrantRecord;
|
|
67
|
+
execution: GitHubIssueLabelExecutionResult;
|
|
68
|
+
}>;
|
|
69
|
+
executeGitHubPullRequestDraft(input: GitHubPullRequestDraftActionOptions): Promise<{
|
|
70
|
+
evaluation: RuntimeSimulationBatch;
|
|
71
|
+
receipt: ReceiptRecord;
|
|
72
|
+
grant: ExecutionGrantRecord;
|
|
73
|
+
execution: GitHubPullRequestDraftExecutionResult;
|
|
74
|
+
}>;
|
|
75
|
+
executeEnforcedAction<K extends EnforcedExecutionKind>(input: EnforcedActionOptions<K>): Promise<{
|
|
76
|
+
evaluation: RuntimeSimulationBatch;
|
|
77
|
+
receipt: ReceiptRecord;
|
|
78
|
+
grant: ExecutionGrantRecord;
|
|
79
|
+
execution: EnforcedExecutionResultByKind[K];
|
|
80
|
+
}>;
|
|
81
|
+
}
|
|
82
|
+
export {};
|
|
83
|
+
//# sourceMappingURL=agent-middleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-middleware.d.ts","sourceRoot":"","sources":["../../../packages/mandate-os-sdk/src/agent-middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { getEnforcedExecutionCapability, } from './enforced-capabilities';
|
|
2
|
+
export class MandateOsPolicyDecisionError extends Error {
|
|
3
|
+
constructor(receipt) {
|
|
4
|
+
super(`MandateOS returned ${receipt.decision} for ${receipt.title}: ${receipt.reasons.join(' ')}`);
|
|
5
|
+
this.receipt = receipt;
|
|
6
|
+
this.name = 'MandateOsPolicyDecisionError';
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export class MandateOsAgentMiddleware {
|
|
10
|
+
constructor(client, defaults = {}) {
|
|
11
|
+
this.client = client;
|
|
12
|
+
this.defaults = defaults;
|
|
13
|
+
}
|
|
14
|
+
async evaluateAction(input) {
|
|
15
|
+
const mandateId = input.mandateId || this.defaults.mandateId;
|
|
16
|
+
if (!mandateId) {
|
|
17
|
+
throw new Error('Mandate id is required. Pass it to the middleware defaults or the action call.');
|
|
18
|
+
}
|
|
19
|
+
const evaluation = await this.client.evaluateActions({
|
|
20
|
+
mandateId,
|
|
21
|
+
source: input.source || this.defaults.source,
|
|
22
|
+
details: {
|
|
23
|
+
...(this.defaults.details || {}),
|
|
24
|
+
...(input.details || {}),
|
|
25
|
+
},
|
|
26
|
+
actions: [input.action],
|
|
27
|
+
}, {
|
|
28
|
+
idempotencyKey: input.evaluationIdempotencyKey,
|
|
29
|
+
});
|
|
30
|
+
const receipt = evaluation.data.receipts[0];
|
|
31
|
+
if (!receipt) {
|
|
32
|
+
throw new Error('MandateOS did not return a receipt for the evaluated action.');
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
evaluation: evaluation.data,
|
|
36
|
+
receipt,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
async requireAllowed(input) {
|
|
40
|
+
const result = await this.evaluateAction(input);
|
|
41
|
+
if (result.receipt.decision !== 'allowed') {
|
|
42
|
+
throw new MandateOsPolicyDecisionError(result.receipt);
|
|
43
|
+
}
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
46
|
+
async withMandateCheck(input, executor) {
|
|
47
|
+
const result = await this.requireAllowed(input);
|
|
48
|
+
return executor(result);
|
|
49
|
+
}
|
|
50
|
+
async executeGitHubIssueLabel(input) {
|
|
51
|
+
return this.executeEnforcedAction({
|
|
52
|
+
...input,
|
|
53
|
+
kind: 'github.issue.label',
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
async executeGitHubPullRequestDraft(input) {
|
|
57
|
+
return this.executeEnforcedAction({
|
|
58
|
+
...input,
|
|
59
|
+
kind: 'github.pull_request.draft',
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
async executeEnforcedAction(input) {
|
|
63
|
+
const capability = getEnforcedExecutionCapability(input.kind);
|
|
64
|
+
if (input.action.tool !== capability.actionTool) {
|
|
65
|
+
throw new Error(`action.tool must be ${capability.actionTool} for ${input.kind}.`);
|
|
66
|
+
}
|
|
67
|
+
const allowed = await this.requireAllowed(input);
|
|
68
|
+
const grantInput = {
|
|
69
|
+
receiptId: allowed.receipt.id,
|
|
70
|
+
kind: input.kind,
|
|
71
|
+
payload: input.payload,
|
|
72
|
+
expiresInSeconds: input.grantExpiresInSeconds,
|
|
73
|
+
};
|
|
74
|
+
const grant = await this.client.issueExecutionGrant(grantInput, {
|
|
75
|
+
idempotencyKey: input.grantIdempotencyKey,
|
|
76
|
+
});
|
|
77
|
+
const execution = await this.client.executeEnforcedAction(input.kind, {
|
|
78
|
+
grantId: grant.data.id,
|
|
79
|
+
payload: input.payload,
|
|
80
|
+
}, {
|
|
81
|
+
idempotencyKey: input.executeIdempotencyKey,
|
|
82
|
+
});
|
|
83
|
+
return {
|
|
84
|
+
evaluation: allowed.evaluation,
|
|
85
|
+
receipt: allowed.receipt,
|
|
86
|
+
grant: grant.data,
|
|
87
|
+
execution: execution.data,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=agent-middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-middleware.js","sourceRoot":"","sources":["../../../packages/mandate-os-sdk/src/agent-middleware.ts"],"names":[],"mappings":"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"}
|
package/contracts.d.ts
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import type { ActionScenario, Decision, MandateDraft, ToolId, Zone } from './mandates';
|
|
2
|
+
import type { EnforcedExecutionKind } from './enforced-capabilities';
|
|
3
|
+
export type SignatureEnvelope = {
|
|
4
|
+
algorithm: 'hmac-sha256';
|
|
5
|
+
keyId: string;
|
|
6
|
+
payloadHash: string;
|
|
7
|
+
signature: string;
|
|
8
|
+
signedAt: string;
|
|
9
|
+
};
|
|
10
|
+
export type AuditActorType = 'human' | 'service' | 'agent' | 'system';
|
|
11
|
+
export type AuditActor = {
|
|
12
|
+
type: AuditActorType;
|
|
13
|
+
id: string;
|
|
14
|
+
displayName: string;
|
|
15
|
+
};
|
|
16
|
+
export type AuditMetadata = {
|
|
17
|
+
requestId: string;
|
|
18
|
+
source: string;
|
|
19
|
+
actor: AuditActor;
|
|
20
|
+
workspaceId: string;
|
|
21
|
+
ipAddress: string | null;
|
|
22
|
+
userAgent: string | null;
|
|
23
|
+
};
|
|
24
|
+
export type MandateStatus = 'active' | 'revoked';
|
|
25
|
+
export type ExecutionGrantKind = EnforcedExecutionKind;
|
|
26
|
+
export type ExecutionGrantStatus = 'active' | 'consumed' | 'expired' | 'revoked';
|
|
27
|
+
export type GitHubIssueLabelExecutionPayload = {
|
|
28
|
+
owner: string;
|
|
29
|
+
repo: string;
|
|
30
|
+
issueNumber: number;
|
|
31
|
+
labels: string[];
|
|
32
|
+
};
|
|
33
|
+
export type GitHubPullRequestDraftExecutionPayload = {
|
|
34
|
+
owner: string;
|
|
35
|
+
repo: string;
|
|
36
|
+
pullRequestNumber: number;
|
|
37
|
+
};
|
|
38
|
+
export type EnforcedExecutionPayloadByKind = {
|
|
39
|
+
'github.issue.label': GitHubIssueLabelExecutionPayload;
|
|
40
|
+
'github.pull_request.draft': GitHubPullRequestDraftExecutionPayload;
|
|
41
|
+
};
|
|
42
|
+
export type ExecutionGrantRecord = {
|
|
43
|
+
id: string;
|
|
44
|
+
workspaceId: string;
|
|
45
|
+
receiptId: string;
|
|
46
|
+
mandateId: string;
|
|
47
|
+
kind: ExecutionGrantKind;
|
|
48
|
+
payloadHash: string;
|
|
49
|
+
payloadPreview: Record<string, unknown>;
|
|
50
|
+
status: ExecutionGrantStatus;
|
|
51
|
+
createdAt: string;
|
|
52
|
+
expiresAt: string;
|
|
53
|
+
consumedAt: string | null;
|
|
54
|
+
consumedRequestId: string | null;
|
|
55
|
+
revokedAt: string | null;
|
|
56
|
+
audit: AuditMetadata;
|
|
57
|
+
signature: SignatureEnvelope;
|
|
58
|
+
};
|
|
59
|
+
export type GitHubIssueLabelExecutionGrantInput = {
|
|
60
|
+
receiptId: string;
|
|
61
|
+
kind: 'github.issue.label';
|
|
62
|
+
payload: GitHubIssueLabelExecutionPayload;
|
|
63
|
+
expiresInSeconds?: number;
|
|
64
|
+
};
|
|
65
|
+
export type GitHubPullRequestDraftExecutionGrantInput = {
|
|
66
|
+
receiptId: string;
|
|
67
|
+
kind: 'github.pull_request.draft';
|
|
68
|
+
payload: GitHubPullRequestDraftExecutionPayload;
|
|
69
|
+
expiresInSeconds?: number;
|
|
70
|
+
};
|
|
71
|
+
export type ExecutionGrantIssueInput = {
|
|
72
|
+
[K in ExecutionGrantKind]: {
|
|
73
|
+
receiptId: string;
|
|
74
|
+
kind: K;
|
|
75
|
+
payload: EnforcedExecutionPayloadByKind[K];
|
|
76
|
+
expiresInSeconds?: number;
|
|
77
|
+
};
|
|
78
|
+
}[ExecutionGrantKind];
|
|
79
|
+
export type GitHubIssueLabelExecutionInput = {
|
|
80
|
+
grantId: string;
|
|
81
|
+
payload: GitHubIssueLabelExecutionPayload;
|
|
82
|
+
};
|
|
83
|
+
export type GitHubPullRequestDraftExecutionInput = {
|
|
84
|
+
grantId: string;
|
|
85
|
+
payload: GitHubPullRequestDraftExecutionPayload;
|
|
86
|
+
};
|
|
87
|
+
export type EnforcedExecutionInput<K extends ExecutionGrantKind> = {
|
|
88
|
+
grantId: string;
|
|
89
|
+
payload: EnforcedExecutionPayloadByKind[K];
|
|
90
|
+
};
|
|
91
|
+
export type GitHubIssueLabelExecutionResult = {
|
|
92
|
+
grantId: string;
|
|
93
|
+
receiptId: string;
|
|
94
|
+
mandateId: string;
|
|
95
|
+
executedAt: string;
|
|
96
|
+
owner: string;
|
|
97
|
+
repo: string;
|
|
98
|
+
issueNumber: number;
|
|
99
|
+
labels: string[];
|
|
100
|
+
};
|
|
101
|
+
export type GitHubPullRequestDraftExecutionResult = {
|
|
102
|
+
grantId: string;
|
|
103
|
+
receiptId: string;
|
|
104
|
+
mandateId: string;
|
|
105
|
+
executedAt: string;
|
|
106
|
+
owner: string;
|
|
107
|
+
repo: string;
|
|
108
|
+
pullRequestNumber: number;
|
|
109
|
+
isDraft: true;
|
|
110
|
+
wasAlreadyDraft: boolean;
|
|
111
|
+
url: string | null;
|
|
112
|
+
};
|
|
113
|
+
export type EnforcedExecutionResultByKind = {
|
|
114
|
+
'github.issue.label': GitHubIssueLabelExecutionResult;
|
|
115
|
+
'github.pull_request.draft': GitHubPullRequestDraftExecutionResult;
|
|
116
|
+
};
|
|
117
|
+
export type EnforcedExecutionResult<K extends ExecutionGrantKind> = EnforcedExecutionResultByKind[K];
|
|
118
|
+
export type MandateRecord = MandateDraft & {
|
|
119
|
+
id: string;
|
|
120
|
+
workspaceId: string;
|
|
121
|
+
version: number;
|
|
122
|
+
status: MandateStatus;
|
|
123
|
+
issuedAt: string;
|
|
124
|
+
updatedAt: string;
|
|
125
|
+
policyText: string;
|
|
126
|
+
fingerprint: string;
|
|
127
|
+
signature: SignatureEnvelope;
|
|
128
|
+
audit: AuditMetadata;
|
|
129
|
+
};
|
|
130
|
+
export type MandateSummary = Pick<MandateRecord, 'id' | 'workspaceId' | 'version' | 'status' | 'issuedAt' | 'updatedAt' | 'owner' | 'agentName' | 'purpose' | 'monthlyCapNok' | 'allowedRegion' | 'fingerprint'>;
|
|
131
|
+
export type ReceiptRecord = {
|
|
132
|
+
id: string;
|
|
133
|
+
batchId: string;
|
|
134
|
+
receiptType: 'simulation';
|
|
135
|
+
workspaceId: string;
|
|
136
|
+
mandateId: string;
|
|
137
|
+
mandateVersion: number;
|
|
138
|
+
createdAt: string;
|
|
139
|
+
scenarioId: string;
|
|
140
|
+
title: string;
|
|
141
|
+
description: string;
|
|
142
|
+
tool: ToolId;
|
|
143
|
+
amountNok: number;
|
|
144
|
+
termMonths: number;
|
|
145
|
+
zone: Zone;
|
|
146
|
+
decision: Decision;
|
|
147
|
+
reasons: string[];
|
|
148
|
+
signature: SignatureEnvelope;
|
|
149
|
+
audit: AuditMetadata;
|
|
150
|
+
};
|
|
151
|
+
export type RuntimeSimulationBatch = {
|
|
152
|
+
batchId: string;
|
|
153
|
+
generatedAt: string;
|
|
154
|
+
mandate: MandateSummary;
|
|
155
|
+
receipts: ReceiptRecord[];
|
|
156
|
+
audit: AuditMetadata;
|
|
157
|
+
};
|
|
158
|
+
export type RuntimeActionEvaluationInput = {
|
|
159
|
+
mandateId: string;
|
|
160
|
+
actions: ActionScenario[];
|
|
161
|
+
source?: string | null;
|
|
162
|
+
details?: Record<string, unknown> | null;
|
|
163
|
+
};
|
|
164
|
+
export type SignatureVerificationResult = {
|
|
165
|
+
resourceType: 'mandate' | 'receipt' | 'execution_grant';
|
|
166
|
+
resourceId: string;
|
|
167
|
+
keyId: string;
|
|
168
|
+
algorithm: 'hmac-sha256';
|
|
169
|
+
valid: boolean;
|
|
170
|
+
verifiedAt: string;
|
|
171
|
+
};
|
|
172
|
+
export type ApiErrorIssue = {
|
|
173
|
+
path: string;
|
|
174
|
+
message: string;
|
|
175
|
+
};
|
|
176
|
+
export type ApiResponseMeta = {
|
|
177
|
+
requestId: string;
|
|
178
|
+
};
|
|
179
|
+
export type ApiSuccessPayload<T> = {
|
|
180
|
+
data: T;
|
|
181
|
+
meta: ApiResponseMeta;
|
|
182
|
+
};
|
|
183
|
+
export type ApiErrorPayload = {
|
|
184
|
+
error: {
|
|
185
|
+
code: string;
|
|
186
|
+
message: string;
|
|
187
|
+
issues?: ApiErrorIssue[];
|
|
188
|
+
};
|
|
189
|
+
meta?: ApiResponseMeta;
|
|
190
|
+
};
|
|
191
|
+
//# sourceMappingURL=contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../packages/mandate-os-sdk/src/contracts.ts"],"names":[],"mappings":"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"}
|
package/contracts.js
ADDED
package/contracts.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../packages/mandate-os-sdk/src/contracts.ts"],"names":[],"mappings":""}
|