@secondlayer/sentinel 0.3.0 → 0.4.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/mcp.js +2 -2
- package/dist/sentinel-client.d.ts +6 -3
- package/package.json +1 -1
package/dist/mcp.js
CHANGED
|
@@ -20865,7 +20865,7 @@ function buildTools(client) {
|
|
|
20865
20865
|
run: async (a) => a.confirm === true ? client.testsFromRepo(a.planId) : paidRun("Run the Clarinet suite from this pre-launch plan's repo in the airgapped sandbox.")
|
|
20866
20866
|
},
|
|
20867
20867
|
list_watches: {
|
|
20868
|
-
description: "What a plan watches, as intent watches (Money out once per contract with a limit per token, Control changes, one per finding, the fns you added): on or off, the threshold or summary, the fns covered, what it can see (coverage: direct-calls means a call made from another contract isn't visible yet), each rule in token units, any mute, and the subject name the other watch tools take.",
|
|
20868
|
+
description: "What a plan watches, as intent watches (Money out once per contract with a limit per token, Control changes, Admin operations, Settings, one per finding, the fns you added): on or off, the threshold or summary, the fns covered, what it can see (coverage: direct-calls means a call made from another contract isn't visible yet), each rule in token units, any mute, and the subject name the other watch tools take.",
|
|
20869
20869
|
input: { planId },
|
|
20870
20870
|
run: async (a) => {
|
|
20871
20871
|
const ctx = await watchContext(client, a.planId);
|
|
@@ -21049,7 +21049,7 @@ async function runTool(tool, args) {
|
|
|
21049
21049
|
}
|
|
21050
21050
|
}
|
|
21051
21051
|
function buildServer(client) {
|
|
21052
|
-
const server = new McpServer({ name: "sentinel", version: "0.
|
|
21052
|
+
const server = new McpServer({ name: "sentinel", version: "0.4.0" });
|
|
21053
21053
|
for (const [name, tool] of Object.entries(buildTools(client))) {
|
|
21054
21054
|
server.registerTool(name, { description: tool.description, inputSchema: tool.input }, (args) => runTool(tool, args));
|
|
21055
21055
|
}
|
|
@@ -107,6 +107,7 @@ export type WatchRule = {
|
|
|
107
107
|
} | {
|
|
108
108
|
kind: "outflowSingle";
|
|
109
109
|
amount: string | null;
|
|
110
|
+
internal?: string[];
|
|
110
111
|
} | {
|
|
111
112
|
kind: "audit";
|
|
112
113
|
triggerClass: string;
|
|
@@ -114,6 +115,7 @@ export type WatchRule = {
|
|
|
114
115
|
kind: "outflowWindow";
|
|
115
116
|
amount: string;
|
|
116
117
|
blocks: number;
|
|
118
|
+
internal?: string[];
|
|
117
119
|
} | {
|
|
118
120
|
kind: "actor";
|
|
119
121
|
signals: ("newCaller" | "firstCall" | "roleChange")[];
|
|
@@ -121,6 +123,7 @@ export type WatchRule = {
|
|
|
121
123
|
} | {
|
|
122
124
|
kind: "valueNewActor";
|
|
123
125
|
amount: string;
|
|
126
|
+
internal?: string[];
|
|
124
127
|
};
|
|
125
128
|
/** The rule kinds a caller can add or edit (the others come from a verified finding or governance). */
|
|
126
129
|
export type EditableRule = Exclude<WatchRule, {
|
|
@@ -169,7 +172,7 @@ export type StoredWatch = {
|
|
|
169
172
|
updatedAt: string;
|
|
170
173
|
units: Units | null;
|
|
171
174
|
};
|
|
172
|
-
export type IntentKind = "money_out" | "control" | "finding" | "owner_fn";
|
|
175
|
+
export type IntentKind = "money_out" | "control" | "admin_op" | "setting" | "finding" | "owner_fn";
|
|
173
176
|
/** A Money out limit: null amount means every outflow alerts until one is set. */
|
|
174
177
|
export type Threshold = {
|
|
175
178
|
amount: string | null;
|
|
@@ -192,8 +195,8 @@ export type AssetWatch = {
|
|
|
192
195
|
};
|
|
193
196
|
};
|
|
194
197
|
/**
|
|
195
|
-
* One intent watch: what a team sees (Money out holding every asset, Control changes,
|
|
196
|
-
* added). `rows` are the stored watches behind it: what a rule edit, a switch or a mute acts on.
|
|
198
|
+
* One intent watch: what a team sees (Money out holding every asset, Control changes, Admin operations, Settings, one per
|
|
199
|
+
* finding, a fn the team added). `rows` are the stored watches behind it: what a rule edit, a switch or a mute acts on.
|
|
197
200
|
*/
|
|
198
201
|
export type IntentWatch<R = StoredWatch & {
|
|
199
202
|
on: boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@secondlayer/sentinel",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Sentinel from a terminal or an agent: the CLI, an MCP server and a client for your Stacks contract monitoring.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": "https://runsentinel.app/docs",
|