@crediolabs/policy-builder-mcp 1.1.0 → 1.2.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/src/schemas.d.ts +2 -0
- package/dist/src/schemas.js +8 -0
- package/dist/src/server.js +1 -1
- package/dist-cjs/src/schemas.d.ts +2 -0
- package/dist-cjs/src/schemas.js +8 -0
- package/dist-cjs/src/server.js +1 -1
- package/package.json +2 -2
- package/src/schemas.ts +8 -0
- package/src/server.ts +1 -1
package/dist/src/schemas.d.ts
CHANGED
|
@@ -976,6 +976,7 @@ export declare const InstallPolicyToolShape: {
|
|
|
976
976
|
} | undefined;
|
|
977
977
|
}>>;
|
|
978
978
|
readonly installNonce: z.ZodOptional<z.ZodNumber>;
|
|
979
|
+
readonly outPath: z.ZodOptional<z.ZodString>;
|
|
979
980
|
readonly spendingLimit: z.ZodOptional<z.ZodObject<{
|
|
980
981
|
amount: z.ZodString;
|
|
981
982
|
periodLedgers: z.ZodNumber;
|
|
@@ -987,6 +988,7 @@ export declare const InstallPolicyToolShape: {
|
|
|
987
988
|
periodLedgers: number;
|
|
988
989
|
}>>;
|
|
989
990
|
readonly allowUnboundedAmount: z.ZodOptional<z.ZodBoolean>;
|
|
991
|
+
readonly allowAuthorityOverlap: z.ZodOptional<z.ZodBoolean>;
|
|
990
992
|
readonly interpreterAddress: z.ZodOptional<z.ZodString>;
|
|
991
993
|
readonly smartAccount: z.ZodOptional<z.ZodString>;
|
|
992
994
|
readonly sourceAccount: z.ZodOptional<z.ZodString>;
|
package/dist/src/schemas.js
CHANGED
|
@@ -172,6 +172,10 @@ export const InstallPolicyToolShape = {
|
|
|
172
172
|
})
|
|
173
173
|
.optional(),
|
|
174
174
|
installNonce: z.number().int().positive().optional(),
|
|
175
|
+
// Absolute path for the server to write the unsigned envelope to. Without it
|
|
176
|
+
// the caller has to carry a multi-kilobyte string to disk itself, which
|
|
177
|
+
// mangles it - a file of the right length whose bytes no longer parse.
|
|
178
|
+
outPath: z.string().optional(),
|
|
175
179
|
// A ROLLING TOTAL beside the per-call predicate, as an OpenZeppelin
|
|
176
180
|
// spending_limit on the same rule. Both must permit. This is the only way to
|
|
177
181
|
// express "N per day": the interpreter is handed one call and keeps no state.
|
|
@@ -185,6 +189,10 @@ export const InstallPolicyToolShape = {
|
|
|
185
189
|
// a spend. Default-deny: such a rule installs and verifies cleanly and caps
|
|
186
190
|
// nothing.
|
|
187
191
|
allowUnboundedAmount: z.boolean().optional(),
|
|
192
|
+
// Opt-in to installing a rule the cross-rule scan PROVES cannot bind: a
|
|
193
|
+
// shared signer also sits on a neighbouring rule carrying no policy, so it
|
|
194
|
+
// names that rule and this predicate never runs. Default-deny.
|
|
195
|
+
allowAuthorityOverlap: z.boolean().optional(),
|
|
188
196
|
interpreterAddress: z.string().optional(),
|
|
189
197
|
};
|
|
190
198
|
/** Flat ZodRawShape for `revoke_policy`. */
|
package/dist/src/server.js
CHANGED
|
@@ -26,7 +26,7 @@ export function createMcpServer() {
|
|
|
26
26
|
// Kept in step with package.json by `server-version.test.ts`. It was
|
|
27
27
|
// hardcoded once already and reported 0.0.0 to every client; a literal is
|
|
28
28
|
// fine, a literal nothing checks is not.
|
|
29
|
-
{ name: 'policy-builder-mcp', version: '1.
|
|
29
|
+
{ name: 'policy-builder-mcp', version: '1.2.0' }, { capabilities: { tools: {} } });
|
|
30
30
|
registerTools(server);
|
|
31
31
|
return server;
|
|
32
32
|
}
|
|
@@ -976,6 +976,7 @@ export declare const InstallPolicyToolShape: {
|
|
|
976
976
|
} | undefined;
|
|
977
977
|
}>>;
|
|
978
978
|
readonly installNonce: z.ZodOptional<z.ZodNumber>;
|
|
979
|
+
readonly outPath: z.ZodOptional<z.ZodString>;
|
|
979
980
|
readonly spendingLimit: z.ZodOptional<z.ZodObject<{
|
|
980
981
|
amount: z.ZodString;
|
|
981
982
|
periodLedgers: z.ZodNumber;
|
|
@@ -987,6 +988,7 @@ export declare const InstallPolicyToolShape: {
|
|
|
987
988
|
periodLedgers: number;
|
|
988
989
|
}>>;
|
|
989
990
|
readonly allowUnboundedAmount: z.ZodOptional<z.ZodBoolean>;
|
|
991
|
+
readonly allowAuthorityOverlap: z.ZodOptional<z.ZodBoolean>;
|
|
990
992
|
readonly interpreterAddress: z.ZodOptional<z.ZodString>;
|
|
991
993
|
readonly smartAccount: z.ZodOptional<z.ZodString>;
|
|
992
994
|
readonly sourceAccount: z.ZodOptional<z.ZodString>;
|
package/dist-cjs/src/schemas.js
CHANGED
|
@@ -180,6 +180,10 @@ exports.InstallPolicyToolShape = {
|
|
|
180
180
|
})
|
|
181
181
|
.optional(),
|
|
182
182
|
installNonce: zod_1.z.number().int().positive().optional(),
|
|
183
|
+
// Absolute path for the server to write the unsigned envelope to. Without it
|
|
184
|
+
// the caller has to carry a multi-kilobyte string to disk itself, which
|
|
185
|
+
// mangles it - a file of the right length whose bytes no longer parse.
|
|
186
|
+
outPath: zod_1.z.string().optional(),
|
|
183
187
|
// A ROLLING TOTAL beside the per-call predicate, as an OpenZeppelin
|
|
184
188
|
// spending_limit on the same rule. Both must permit. This is the only way to
|
|
185
189
|
// express "N per day": the interpreter is handed one call and keeps no state.
|
|
@@ -193,6 +197,10 @@ exports.InstallPolicyToolShape = {
|
|
|
193
197
|
// a spend. Default-deny: such a rule installs and verifies cleanly and caps
|
|
194
198
|
// nothing.
|
|
195
199
|
allowUnboundedAmount: zod_1.z.boolean().optional(),
|
|
200
|
+
// Opt-in to installing a rule the cross-rule scan PROVES cannot bind: a
|
|
201
|
+
// shared signer also sits on a neighbouring rule carrying no policy, so it
|
|
202
|
+
// names that rule and this predicate never runs. Default-deny.
|
|
203
|
+
allowAuthorityOverlap: zod_1.z.boolean().optional(),
|
|
196
204
|
interpreterAddress: zod_1.z.string().optional(),
|
|
197
205
|
};
|
|
198
206
|
/** Flat ZodRawShape for `revoke_policy`. */
|
package/dist-cjs/src/server.js
CHANGED
|
@@ -30,7 +30,7 @@ function createMcpServer() {
|
|
|
30
30
|
// Kept in step with package.json by `server-version.test.ts`. It was
|
|
31
31
|
// hardcoded once already and reported 0.0.0 to every client; a literal is
|
|
32
32
|
// fine, a literal nothing checks is not.
|
|
33
|
-
{ name: 'policy-builder-mcp', version: '1.
|
|
33
|
+
{ name: 'policy-builder-mcp', version: '1.2.0' }, { capabilities: { tools: {} } });
|
|
34
34
|
registerTools(server);
|
|
35
35
|
return server;
|
|
36
36
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crediolabs/policy-builder-mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "MCP server exposing the OZ policy-synth core (record_transaction + synthesize_policy) over stdio and Streamable HTTP transports.",
|
|
6
6
|
"type": "module",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"prepack": "bun run build"
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"@crediolabs/policy-synth": "1.
|
|
66
|
+
"@crediolabs/policy-synth": "1.2.0",
|
|
67
67
|
"@modelcontextprotocol/sdk": "1.30.0",
|
|
68
68
|
"@stellar/stellar-sdk": "14.4.0",
|
|
69
69
|
"zod": "3.25.76"
|
package/src/schemas.ts
CHANGED
|
@@ -213,6 +213,10 @@ export const InstallPolicyToolShape = {
|
|
|
213
213
|
})
|
|
214
214
|
.optional(),
|
|
215
215
|
installNonce: z.number().int().positive().optional(),
|
|
216
|
+
// Absolute path for the server to write the unsigned envelope to. Without it
|
|
217
|
+
// the caller has to carry a multi-kilobyte string to disk itself, which
|
|
218
|
+
// mangles it - a file of the right length whose bytes no longer parse.
|
|
219
|
+
outPath: z.string().optional(),
|
|
216
220
|
// A ROLLING TOTAL beside the per-call predicate, as an OpenZeppelin
|
|
217
221
|
// spending_limit on the same rule. Both must permit. This is the only way to
|
|
218
222
|
// express "N per day": the interpreter is handed one call and keeps no state.
|
|
@@ -226,6 +230,10 @@ export const InstallPolicyToolShape = {
|
|
|
226
230
|
// a spend. Default-deny: such a rule installs and verifies cleanly and caps
|
|
227
231
|
// nothing.
|
|
228
232
|
allowUnboundedAmount: z.boolean().optional(),
|
|
233
|
+
// Opt-in to installing a rule the cross-rule scan PROVES cannot bind: a
|
|
234
|
+
// shared signer also sits on a neighbouring rule carrying no policy, so it
|
|
235
|
+
// names that rule and this predicate never runs. Default-deny.
|
|
236
|
+
allowAuthorityOverlap: z.boolean().optional(),
|
|
229
237
|
interpreterAddress: z.string().optional(),
|
|
230
238
|
} as const
|
|
231
239
|
|
package/src/server.ts
CHANGED
|
@@ -51,7 +51,7 @@ export function createMcpServer(): McpServer {
|
|
|
51
51
|
// Kept in step with package.json by `server-version.test.ts`. It was
|
|
52
52
|
// hardcoded once already and reported 0.0.0 to every client; a literal is
|
|
53
53
|
// fine, a literal nothing checks is not.
|
|
54
|
-
{ name: 'policy-builder-mcp', version: '1.
|
|
54
|
+
{ name: 'policy-builder-mcp', version: '1.2.0' },
|
|
55
55
|
{ capabilities: { tools: {} } }
|
|
56
56
|
)
|
|
57
57
|
registerTools(server)
|