sentinel-agentos 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/LICENSE +21 -0
- package/README.md +636 -0
- package/dist/api.d.ts +151 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +179 -0
- package/dist/api.js.map +1 -0
- package/dist/cli.d.ts +14 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +182 -0
- package/dist/cli.js.map +1 -0
- package/dist/core.d.ts +139 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +247 -0
- package/dist/core.js.map +1 -0
- package/dist/evaluator/exec-evaluator.d.ts +102 -0
- package/dist/evaluator/exec-evaluator.d.ts.map +1 -0
- package/dist/evaluator/exec-evaluator.js +266 -0
- package/dist/evaluator/exec-evaluator.js.map +1 -0
- package/dist/evaluator/feedback.d.ts +66 -0
- package/dist/evaluator/feedback.d.ts.map +1 -0
- package/dist/evaluator/feedback.js +195 -0
- package/dist/evaluator/feedback.js.map +1 -0
- package/dist/evaluator/profiler.d.ts +53 -0
- package/dist/evaluator/profiler.d.ts.map +1 -0
- package/dist/evaluator/profiler.js +108 -0
- package/dist/evaluator/profiler.js.map +1 -0
- package/dist/guard/audit-log.d.ts +75 -0
- package/dist/guard/audit-log.d.ts.map +1 -0
- package/dist/guard/audit-log.js +207 -0
- package/dist/guard/audit-log.js.map +1 -0
- package/dist/guard/risk-gate.d.ts +97 -0
- package/dist/guard/risk-gate.d.ts.map +1 -0
- package/dist/guard/risk-gate.js +160 -0
- package/dist/guard/risk-gate.js.map +1 -0
- package/dist/guard/sandbox.d.ts +112 -0
- package/dist/guard/sandbox.d.ts.map +1 -0
- package/dist/guard/sandbox.js +379 -0
- package/dist/guard/sandbox.js.map +1 -0
- package/dist/guard/schema-gate.d.ts +90 -0
- package/dist/guard/schema-gate.d.ts.map +1 -0
- package/dist/guard/schema-gate.js +452 -0
- package/dist/guard/schema-gate.js.map +1 -0
- package/dist/guard/snapshot-verify.d.ts +111 -0
- package/dist/guard/snapshot-verify.d.ts.map +1 -0
- package/dist/guard/snapshot-verify.js +578 -0
- package/dist/guard/snapshot-verify.js.map +1 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +59 -0
- package/dist/index.js.map +1 -0
- package/dist/memory/episodic.d.ts +76 -0
- package/dist/memory/episodic.d.ts.map +1 -0
- package/dist/memory/episodic.js +289 -0
- package/dist/memory/episodic.js.map +1 -0
- package/dist/memory/semantic.d.ts +69 -0
- package/dist/memory/semantic.d.ts.map +1 -0
- package/dist/memory/semantic.js +243 -0
- package/dist/memory/semantic.js.map +1 -0
- package/dist/memory/working.d.ts +53 -0
- package/dist/memory/working.d.ts.map +1 -0
- package/dist/memory/working.js +150 -0
- package/dist/memory/working.js.map +1 -0
- package/dist/middleware/openclaw.d.ts +45 -0
- package/dist/middleware/openclaw.d.ts.map +1 -0
- package/dist/middleware/openclaw.js +95 -0
- package/dist/middleware/openclaw.js.map +1 -0
- package/dist/middleware/wrapper.d.ts +54 -0
- package/dist/middleware/wrapper.d.ts.map +1 -0
- package/dist/middleware/wrapper.js +155 -0
- package/dist/middleware/wrapper.js.map +1 -0
- package/dist/server.d.ts +45 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +229 -0
- package/dist/server.js.map +1 -0
- package/dist/types/index.d.ts +201 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +64 -0
package/dist/api.d.ts
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { AgentOS } from './core';
|
|
2
|
+
import { AuditEntry } from './types';
|
|
3
|
+
import type { AgentProfile } from './evaluator/profiler';
|
|
4
|
+
import type { SchemaRule } from './guard/schema-gate';
|
|
5
|
+
import type { ExecutionContext } from './guard/sandbox';
|
|
6
|
+
/**
|
|
7
|
+
* AgentOS API — SDK protocol layer.
|
|
8
|
+
*
|
|
9
|
+
* JSON-RPC 2.0 compatible interface for external agent frameworks.
|
|
10
|
+
* No HTTP/WS server in v1.0 — this is an in-process SDK API.
|
|
11
|
+
*
|
|
12
|
+
* Methods are named as `namespace.method` per OpenRPC convention:
|
|
13
|
+
* - guard.schema.registerRule
|
|
14
|
+
* - agentos.pipeline.execute
|
|
15
|
+
* - memory.context.inject
|
|
16
|
+
* - audit.query
|
|
17
|
+
* - profile.get
|
|
18
|
+
*/
|
|
19
|
+
export declare class AgentOSAPI {
|
|
20
|
+
private aos;
|
|
21
|
+
constructor(aos: AgentOS);
|
|
22
|
+
/** Register a schema validation rule */
|
|
23
|
+
guardRegisterRule(rule: SchemaRule): void;
|
|
24
|
+
/** Register multiple schema rules at once */
|
|
25
|
+
guardRegisterRules(rules: SchemaRule[]): void;
|
|
26
|
+
/** Check if a tool has schema rules */
|
|
27
|
+
guardHasRule(toolName: string): boolean;
|
|
28
|
+
/** Get all registered schema rules */
|
|
29
|
+
guardGetRules(): SchemaRule[];
|
|
30
|
+
/** Evaluate risk score for a tool call */
|
|
31
|
+
guardEvaluateRisk(toolName: string, params: Record<string, unknown>): {
|
|
32
|
+
score: number;
|
|
33
|
+
action: string;
|
|
34
|
+
dimensions: Record<string, number>;
|
|
35
|
+
};
|
|
36
|
+
/** Update risk thresholds */
|
|
37
|
+
guardSetRiskThresholds(thresholds: {
|
|
38
|
+
autoApprove?: number;
|
|
39
|
+
notify?: number;
|
|
40
|
+
confirm?: number;
|
|
41
|
+
deny?: number;
|
|
42
|
+
}): void;
|
|
43
|
+
/** Execute the full pre-exec pipeline (before tool runs) */
|
|
44
|
+
pipelineExecute(params: {
|
|
45
|
+
sessionId: string;
|
|
46
|
+
agentId: string;
|
|
47
|
+
toolName: string;
|
|
48
|
+
toolParameters: Record<string, unknown>;
|
|
49
|
+
affectedFiles?: string[];
|
|
50
|
+
executionContext?: Partial<ExecutionContext>;
|
|
51
|
+
}): Promise<{
|
|
52
|
+
preExec: ReturnType<AgentOS['evaluator']['preExec']['evaluate']>;
|
|
53
|
+
snapshot: ReturnType<AgentOS['guard']['snapshot']['takeSnapshot']> | null;
|
|
54
|
+
profile: AgentProfile;
|
|
55
|
+
sandboxRejection?: string;
|
|
56
|
+
}>;
|
|
57
|
+
/** Complete the pipeline after tool execution */
|
|
58
|
+
pipelineComplete(params: {
|
|
59
|
+
sessionId: string;
|
|
60
|
+
agentId: string;
|
|
61
|
+
toolName: string;
|
|
62
|
+
toolParameters: Record<string, unknown>;
|
|
63
|
+
toolResult: unknown;
|
|
64
|
+
snapshot: any | null;
|
|
65
|
+
startTime: number;
|
|
66
|
+
endTime: number;
|
|
67
|
+
retryCount?: number;
|
|
68
|
+
wasSelfCorrected?: boolean;
|
|
69
|
+
hadTimeout?: boolean;
|
|
70
|
+
userAccepted?: boolean;
|
|
71
|
+
userProvidedEdit?: boolean;
|
|
72
|
+
resultWasUsed?: boolean;
|
|
73
|
+
}): {
|
|
74
|
+
runtime: ReturnType<AgentOS['evaluator']['runtime']['evaluate']>;
|
|
75
|
+
postExec: ReturnType<AgentOS['evaluator']['postExec']['evaluate']>;
|
|
76
|
+
auditEntry: AuditEntry;
|
|
77
|
+
profile: AgentProfile;
|
|
78
|
+
};
|
|
79
|
+
/** Inject memory context for session startup */
|
|
80
|
+
memoryInjectContext(): string;
|
|
81
|
+
/** Add a working memory message */
|
|
82
|
+
memoryAddMessage(role: 'user' | 'agent' | 'tool', content: string): void;
|
|
83
|
+
/** Set current task */
|
|
84
|
+
memorySetTask(task: {
|
|
85
|
+
description: string;
|
|
86
|
+
steps: Array<{
|
|
87
|
+
step: string;
|
|
88
|
+
status: string;
|
|
89
|
+
}>;
|
|
90
|
+
}): void;
|
|
91
|
+
/** Cache a tool result */
|
|
92
|
+
memoryCacheResult(toolName: string, result: unknown): void;
|
|
93
|
+
/** Record an episodic event */
|
|
94
|
+
memoryRecordEvent(type: any, content: string, tags?: string[], relatedEntities?: string[]): void;
|
|
95
|
+
/** Set a semantic user preference */
|
|
96
|
+
memorySetPreference(key: string, value: unknown): void;
|
|
97
|
+
/** Get a semantic user preference */
|
|
98
|
+
memoryGetPreference<T = unknown>(key: string): T | undefined;
|
|
99
|
+
/** Learn a rule in semantic memory */
|
|
100
|
+
memoryLearnRule(rule: string, source: string): void;
|
|
101
|
+
/** Define a glossary term */
|
|
102
|
+
memoryDefineTerm(term: string, meaning: string): void;
|
|
103
|
+
/** Set project context */
|
|
104
|
+
memorySetProjectContext(projectName: string, context: {
|
|
105
|
+
description?: string;
|
|
106
|
+
techStack?: string[];
|
|
107
|
+
conventions?: string[];
|
|
108
|
+
architecture?: string;
|
|
109
|
+
knownIssues?: string[];
|
|
110
|
+
}): void;
|
|
111
|
+
/** Query audit log */
|
|
112
|
+
auditQuery(filter?: {
|
|
113
|
+
sessionId?: string;
|
|
114
|
+
toolName?: string;
|
|
115
|
+
verifyStatus?: 'PASS' | 'WARN' | 'FAIL';
|
|
116
|
+
minScore?: number;
|
|
117
|
+
maxScore?: number;
|
|
118
|
+
limit?: number;
|
|
119
|
+
}): AuditEntry[];
|
|
120
|
+
/** Get audit statistics */
|
|
121
|
+
auditStats(): ReturnType<AgentOS['getAuditStats']>;
|
|
122
|
+
/** Record implicit user feedback */
|
|
123
|
+
recordFeedback(signal: Parameters<AgentOS['evaluator']['feedback']['record']>[0], sessionId: string, operationId?: string, confidence?: number): void;
|
|
124
|
+
/** Get satisfaction score */
|
|
125
|
+
getSatisfaction(sessionId?: string, recentHours?: number): number;
|
|
126
|
+
/** Get feedback statistics */
|
|
127
|
+
feedbackStats(): ReturnType<AgentOS['evaluator']['feedback']['stats']>;
|
|
128
|
+
/** Get agent quality profile */
|
|
129
|
+
getProfile(sessionId?: string): AgentProfile;
|
|
130
|
+
/** Get agent status report (human-readable) */
|
|
131
|
+
getStatusReport(): string;
|
|
132
|
+
/** Get session overview */
|
|
133
|
+
getSessionOverview(): {
|
|
134
|
+
profile: AgentProfile;
|
|
135
|
+
audit: ReturnType<AgentOS['getAuditStats']>;
|
|
136
|
+
satisfaction: number;
|
|
137
|
+
workingMemory: {
|
|
138
|
+
messages: number;
|
|
139
|
+
openFiles: number;
|
|
140
|
+
budget: {
|
|
141
|
+
used: number;
|
|
142
|
+
limit: number;
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
episodicEvents: number;
|
|
146
|
+
semanticRules: number;
|
|
147
|
+
};
|
|
148
|
+
/** End session and clean up */
|
|
149
|
+
endSession(sessionId: string): void;
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/api.js
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AgentOSAPI = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* AgentOS API — SDK protocol layer.
|
|
6
|
+
*
|
|
7
|
+
* JSON-RPC 2.0 compatible interface for external agent frameworks.
|
|
8
|
+
* No HTTP/WS server in v1.0 — this is an in-process SDK API.
|
|
9
|
+
*
|
|
10
|
+
* Methods are named as `namespace.method` per OpenRPC convention:
|
|
11
|
+
* - guard.schema.registerRule
|
|
12
|
+
* - agentos.pipeline.execute
|
|
13
|
+
* - memory.context.inject
|
|
14
|
+
* - audit.query
|
|
15
|
+
* - profile.get
|
|
16
|
+
*/
|
|
17
|
+
class AgentOSAPI {
|
|
18
|
+
aos;
|
|
19
|
+
constructor(aos) {
|
|
20
|
+
this.aos = aos;
|
|
21
|
+
}
|
|
22
|
+
// ========== Guard Methods ==========
|
|
23
|
+
/** Register a schema validation rule */
|
|
24
|
+
guardRegisterRule(rule) {
|
|
25
|
+
this.aos.guard.schema.registerRule(rule);
|
|
26
|
+
}
|
|
27
|
+
/** Register multiple schema rules at once */
|
|
28
|
+
guardRegisterRules(rules) {
|
|
29
|
+
this.aos.guard.schema.registerRules(rules);
|
|
30
|
+
}
|
|
31
|
+
/** Check if a tool has schema rules */
|
|
32
|
+
guardHasRule(toolName) {
|
|
33
|
+
return this.aos.guard.schema.hasRule(toolName);
|
|
34
|
+
}
|
|
35
|
+
/** Get all registered schema rules */
|
|
36
|
+
guardGetRules() {
|
|
37
|
+
return this.aos.guard.schema.getRules();
|
|
38
|
+
}
|
|
39
|
+
/** Evaluate risk score for a tool call */
|
|
40
|
+
guardEvaluateRisk(toolName, params) {
|
|
41
|
+
const result = this.aos.guard.risk.evaluate(toolName, params);
|
|
42
|
+
return {
|
|
43
|
+
score: result.score,
|
|
44
|
+
action: result.action,
|
|
45
|
+
dimensions: { ...result.dimensions },
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/** Update risk thresholds */
|
|
49
|
+
guardSetRiskThresholds(thresholds) {
|
|
50
|
+
this.aos.guard.risk.setThresholds(thresholds);
|
|
51
|
+
}
|
|
52
|
+
// ========== Pipeline Methods ==========
|
|
53
|
+
/** Execute the full pre-exec pipeline (before tool runs) */
|
|
54
|
+
async pipelineExecute(params) {
|
|
55
|
+
const result = this.aos.executePipeline({
|
|
56
|
+
sessionId: params.sessionId,
|
|
57
|
+
agentId: params.agentId,
|
|
58
|
+
toolName: params.toolName,
|
|
59
|
+
parameters: params.toolParameters,
|
|
60
|
+
affectedFiles: params.affectedFiles,
|
|
61
|
+
});
|
|
62
|
+
return {
|
|
63
|
+
preExec: result.preExec,
|
|
64
|
+
snapshot: result.snapshot,
|
|
65
|
+
profile: result.profile,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/** Complete the pipeline after tool execution */
|
|
69
|
+
pipelineComplete(params) {
|
|
70
|
+
return this.aos.completeExecution({
|
|
71
|
+
...params,
|
|
72
|
+
retryCount: params.retryCount ?? 0,
|
|
73
|
+
wasSelfCorrected: params.wasSelfCorrected ?? false,
|
|
74
|
+
hadTimeout: params.hadTimeout ?? false,
|
|
75
|
+
userAccepted: params.userAccepted ?? true,
|
|
76
|
+
userProvidedEdit: params.userProvidedEdit ?? false,
|
|
77
|
+
resultWasUsed: params.resultWasUsed ?? false,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
// ========== Memory Methods ==========
|
|
81
|
+
/** Inject memory context for session startup */
|
|
82
|
+
memoryInjectContext() {
|
|
83
|
+
return this.aos.injectContext();
|
|
84
|
+
}
|
|
85
|
+
/** Add a working memory message */
|
|
86
|
+
memoryAddMessage(role, content) {
|
|
87
|
+
this.aos.memory.working.addMessage(role, content);
|
|
88
|
+
}
|
|
89
|
+
/** Set current task */
|
|
90
|
+
memorySetTask(task) {
|
|
91
|
+
this.aos.memory.working.setTask({
|
|
92
|
+
description: task.description,
|
|
93
|
+
steps: task.steps.map((s) => ({
|
|
94
|
+
step: s.step,
|
|
95
|
+
status: s.status,
|
|
96
|
+
})),
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
/** Cache a tool result */
|
|
100
|
+
memoryCacheResult(toolName, result) {
|
|
101
|
+
this.aos.memory.working.cacheToolResult(toolName, result);
|
|
102
|
+
}
|
|
103
|
+
/** Record an episodic event */
|
|
104
|
+
memoryRecordEvent(type, content, tags, relatedEntities) {
|
|
105
|
+
this.aos.memory.episodic.record(type, content, tags, relatedEntities);
|
|
106
|
+
}
|
|
107
|
+
/** Set a semantic user preference */
|
|
108
|
+
memorySetPreference(key, value) {
|
|
109
|
+
this.aos.memory.semantic.setPreference(key, value);
|
|
110
|
+
}
|
|
111
|
+
/** Get a semantic user preference */
|
|
112
|
+
memoryGetPreference(key) {
|
|
113
|
+
return this.aos.memory.semantic.getPreference(key);
|
|
114
|
+
}
|
|
115
|
+
/** Learn a rule in semantic memory */
|
|
116
|
+
memoryLearnRule(rule, source) {
|
|
117
|
+
this.aos.memory.semantic.learnRule(rule, source);
|
|
118
|
+
}
|
|
119
|
+
/** Define a glossary term */
|
|
120
|
+
memoryDefineTerm(term, meaning) {
|
|
121
|
+
this.aos.memory.semantic.defineTerm(term, meaning);
|
|
122
|
+
}
|
|
123
|
+
/** Set project context */
|
|
124
|
+
memorySetProjectContext(projectName, context) {
|
|
125
|
+
this.aos.memory.semantic.setProjectContext(projectName, context);
|
|
126
|
+
}
|
|
127
|
+
// ========== Audit Methods ==========
|
|
128
|
+
/** Query audit log */
|
|
129
|
+
auditQuery(filter = {}) {
|
|
130
|
+
return this.aos.guard.audit.query(filter);
|
|
131
|
+
}
|
|
132
|
+
/** Get audit statistics */
|
|
133
|
+
auditStats() {
|
|
134
|
+
return this.aos.getAuditStats();
|
|
135
|
+
}
|
|
136
|
+
// ========== Feedback Methods ==========
|
|
137
|
+
/** Record implicit user feedback */
|
|
138
|
+
recordFeedback(signal, sessionId, operationId, confidence) {
|
|
139
|
+
this.aos.recordFeedback(signal, sessionId, operationId, confidence);
|
|
140
|
+
}
|
|
141
|
+
/** Get satisfaction score */
|
|
142
|
+
getSatisfaction(sessionId, recentHours) {
|
|
143
|
+
return this.aos.evaluator.feedback.getSatisfactionScore(sessionId, recentHours);
|
|
144
|
+
}
|
|
145
|
+
/** Get feedback statistics */
|
|
146
|
+
feedbackStats() {
|
|
147
|
+
return this.aos.evaluator.feedback.stats();
|
|
148
|
+
}
|
|
149
|
+
// ========== Profile Methods ==========
|
|
150
|
+
/** Get agent quality profile */
|
|
151
|
+
getProfile(sessionId) {
|
|
152
|
+
return this.aos.getProfile(sessionId);
|
|
153
|
+
}
|
|
154
|
+
/** Get agent status report (human-readable) */
|
|
155
|
+
getStatusReport() {
|
|
156
|
+
return this.aos.statusReport();
|
|
157
|
+
}
|
|
158
|
+
/** Get session overview */
|
|
159
|
+
getSessionOverview() {
|
|
160
|
+
return {
|
|
161
|
+
profile: this.aos.getProfile(),
|
|
162
|
+
audit: this.aos.getAuditStats(),
|
|
163
|
+
satisfaction: this.aos.evaluator.feedback.getSatisfactionScore(),
|
|
164
|
+
workingMemory: {
|
|
165
|
+
messages: this.aos.memory.working.recentMessages.length,
|
|
166
|
+
openFiles: this.aos.memory.working.openFiles.length,
|
|
167
|
+
budget: this.aos.memory.working.budget,
|
|
168
|
+
},
|
|
169
|
+
episodicEvents: this.aos.memory.episodic.count,
|
|
170
|
+
semanticRules: this.aos.memory.semantic.getAllRules().length,
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
/** End session and clean up */
|
|
174
|
+
endSession(sessionId) {
|
|
175
|
+
this.aos.endSession(sessionId);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
exports.AgentOSAPI = AgentOSAPI;
|
|
179
|
+
//# sourceMappingURL=api.js.map
|
package/dist/api.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Sentinel AgentOS CLI
|
|
4
|
+
*
|
|
5
|
+
* Command-line interface for Sentinel AgentOS operations.
|
|
6
|
+
*
|
|
7
|
+
* Quick start:
|
|
8
|
+
* npx sentinel-agentos validate --tool write_file --params '{"path":"foo.ts"}'
|
|
9
|
+
* npx sentinel-agentos audit --limit 10
|
|
10
|
+
* npx sentinel-agentos status
|
|
11
|
+
* npx sentinel-agentos server --port 3300
|
|
12
|
+
*/
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;GAUG"}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* Sentinel AgentOS CLI
|
|
5
|
+
*
|
|
6
|
+
* Command-line interface for Sentinel AgentOS operations.
|
|
7
|
+
*
|
|
8
|
+
* Quick start:
|
|
9
|
+
* npx sentinel-agentos validate --tool write_file --params '{"path":"foo.ts"}'
|
|
10
|
+
* npx sentinel-agentos audit --limit 10
|
|
11
|
+
* npx sentinel-agentos status
|
|
12
|
+
* npx sentinel-agentos server --port 3300
|
|
13
|
+
*/
|
|
14
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
17
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
18
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
19
|
+
}
|
|
20
|
+
Object.defineProperty(o, k2, desc);
|
|
21
|
+
}) : (function(o, m, k, k2) {
|
|
22
|
+
if (k2 === undefined) k2 = k;
|
|
23
|
+
o[k2] = m[k];
|
|
24
|
+
}));
|
|
25
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
26
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
27
|
+
}) : function(o, v) {
|
|
28
|
+
o["default"] = v;
|
|
29
|
+
});
|
|
30
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
31
|
+
var ownKeys = function(o) {
|
|
32
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
33
|
+
var ar = [];
|
|
34
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
35
|
+
return ar;
|
|
36
|
+
};
|
|
37
|
+
return ownKeys(o);
|
|
38
|
+
};
|
|
39
|
+
return function (mod) {
|
|
40
|
+
if (mod && mod.__esModule) return mod;
|
|
41
|
+
var result = {};
|
|
42
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
43
|
+
__setModuleDefault(result, mod);
|
|
44
|
+
return result;
|
|
45
|
+
};
|
|
46
|
+
})();
|
|
47
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
+
const core_1 = require("./core");
|
|
49
|
+
function printHelp() {
|
|
50
|
+
console.log(`
|
|
51
|
+
🛡️ Sentinel AgentOS CLI
|
|
52
|
+
|
|
53
|
+
Usage:
|
|
54
|
+
sentinel-agentos <command> [options]
|
|
55
|
+
|
|
56
|
+
Commands:
|
|
57
|
+
validate Validate tool parameters against schema rules
|
|
58
|
+
risk Calculate risk score for a tool call
|
|
59
|
+
audit Query the audit log
|
|
60
|
+
stats Show audit statistics
|
|
61
|
+
profile Show agent quality profile
|
|
62
|
+
status Show full status report
|
|
63
|
+
server Start HTTP API server
|
|
64
|
+
memory Show memory context
|
|
65
|
+
help Show this help
|
|
66
|
+
|
|
67
|
+
Examples:
|
|
68
|
+
sentinel-agentos validate --tool exec --params '{"command":"rm -rf /"}'
|
|
69
|
+
sentinel-agentos risk --tool delete_file --params '{"path":"config.key"}'
|
|
70
|
+
sentinel-agentos audit --limit 10
|
|
71
|
+
sentinel-agentos status
|
|
72
|
+
sentinel-agentos server --port 3300
|
|
73
|
+
`);
|
|
74
|
+
}
|
|
75
|
+
function fatal(msg) {
|
|
76
|
+
console.error(`❌ ${msg}`);
|
|
77
|
+
process.exit(1);
|
|
78
|
+
}
|
|
79
|
+
function parseArgs(args) {
|
|
80
|
+
const result = {};
|
|
81
|
+
for (let i = 0; i < args.length; i++) {
|
|
82
|
+
const arg = args[i];
|
|
83
|
+
if (arg && arg.startsWith('--')) {
|
|
84
|
+
const key = arg.replace(/^--/, '');
|
|
85
|
+
const next = args[i + 1];
|
|
86
|
+
const val = (next !== undefined && !next.startsWith('--')) ? next : 'true';
|
|
87
|
+
result[key] = val;
|
|
88
|
+
if (val !== 'true')
|
|
89
|
+
i++;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return result;
|
|
93
|
+
}
|
|
94
|
+
async function main() {
|
|
95
|
+
const args = process.argv.slice(2);
|
|
96
|
+
const cmd = args[0] ?? '';
|
|
97
|
+
const opts = parseArgs(args.slice(1));
|
|
98
|
+
if (!cmd || cmd === 'help') {
|
|
99
|
+
printHelp();
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
const aos = new core_1.AgentOS();
|
|
103
|
+
switch (cmd) {
|
|
104
|
+
case 'validate': {
|
|
105
|
+
const tool = opts.tool ?? fatal('--tool required');
|
|
106
|
+
const params = opts.params ? JSON.parse(opts.params) : {};
|
|
107
|
+
const result = aos.executePipeline({
|
|
108
|
+
sessionId: 'cli',
|
|
109
|
+
agentId: 'cli',
|
|
110
|
+
toolName: tool,
|
|
111
|
+
parameters: params,
|
|
112
|
+
});
|
|
113
|
+
console.log(JSON.stringify(result.preExec.schemaCheck, null, 2));
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
case 'risk': {
|
|
117
|
+
const tool = opts.tool ?? fatal('--tool required');
|
|
118
|
+
const params = opts.params ? JSON.parse(opts.params) : {};
|
|
119
|
+
const result = aos.executePipeline({
|
|
120
|
+
sessionId: 'cli',
|
|
121
|
+
agentId: 'cli',
|
|
122
|
+
toolName: tool,
|
|
123
|
+
parameters: params,
|
|
124
|
+
});
|
|
125
|
+
console.log(JSON.stringify(result.preExec.riskScore, null, 2));
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
case 'audit': {
|
|
129
|
+
const limit = parseInt(opts.limit ?? '20', 10);
|
|
130
|
+
const entries = aos.guard.audit.query({ limit });
|
|
131
|
+
console.log(JSON.stringify(entries, null, 2));
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
case 'stats': {
|
|
135
|
+
const stats = aos.getAuditStats();
|
|
136
|
+
console.log(JSON.stringify(stats, null, 2));
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
case 'profile': {
|
|
140
|
+
const profile = aos.getProfile();
|
|
141
|
+
console.log(JSON.stringify(profile, null, 2));
|
|
142
|
+
break;
|
|
143
|
+
}
|
|
144
|
+
case 'status': {
|
|
145
|
+
console.log(aos.statusReport());
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
case 'server': {
|
|
149
|
+
const port = parseInt(opts.port ?? '3300', 10);
|
|
150
|
+
const host = opts.host ?? '127.0.0.1';
|
|
151
|
+
const token = opts.token;
|
|
152
|
+
// Dynamic import to avoid requiring express at CLI startup
|
|
153
|
+
try {
|
|
154
|
+
const { createServer } = await Promise.resolve().then(() => __importStar(require('./server')));
|
|
155
|
+
const server = createServer({ port, host, apiToken: token });
|
|
156
|
+
await server.start();
|
|
157
|
+
console.log('Press Ctrl+C to stop');
|
|
158
|
+
process.on('SIGINT', async () => {
|
|
159
|
+
console.log('\nShutting down...');
|
|
160
|
+
await server.stop();
|
|
161
|
+
process.exit(0);
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
catch (err) {
|
|
165
|
+
fatal(`Failed to start server: ${err.message}`);
|
|
166
|
+
}
|
|
167
|
+
break;
|
|
168
|
+
}
|
|
169
|
+
case 'memory': {
|
|
170
|
+
const context = aos.injectContext();
|
|
171
|
+
console.log(context || '(no memory context yet)');
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
default:
|
|
175
|
+
fatal(`Unknown command: ${cmd}. Run 'sentinel-agentos help' for usage.`);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
main().catch((err) => {
|
|
179
|
+
console.error('❌', err.message);
|
|
180
|
+
process.exit(1);
|
|
181
|
+
});
|
|
182
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|