@mapick/cost-firewall 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 +161 -0
- package/dist/breaker.d.ts +30 -0
- package/dist/breaker.d.ts.map +1 -0
- package/dist/breaker.js +131 -0
- package/dist/breaker.js.map +1 -0
- package/dist/cli/index.d.ts +18 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +244 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/config-warn.d.ts +11 -0
- package/dist/config-warn.d.ts.map +1 -0
- package/dist/config-warn.js +26 -0
- package/dist/config-warn.js.map +1 -0
- package/dist/config.d.ts +7 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +32 -0
- package/dist/config.js.map +1 -0
- package/dist/dashboard/html.d.ts +2 -0
- package/dist/dashboard/html.d.ts.map +1 -0
- package/dist/dashboard/html.js +898 -0
- package/dist/dashboard/html.js.map +1 -0
- package/dist/dashboard/index.d.ts +8 -0
- package/dist/dashboard/index.d.ts.map +1 -0
- package/dist/dashboard/index.js +163 -0
- package/dist/dashboard/index.js.map +1 -0
- package/dist/dashboard/sse.d.ts +9 -0
- package/dist/dashboard/sse.d.ts.map +1 -0
- package/dist/dashboard/sse.js +22 -0
- package/dist/dashboard/sse.js.map +1 -0
- package/dist/hooks/agent-end.d.ts +18 -0
- package/dist/hooks/agent-end.d.ts.map +1 -0
- package/dist/hooks/agent-end.js +25 -0
- package/dist/hooks/agent-end.js.map +1 -0
- package/dist/hooks/before-agent-reply.d.ts +29 -0
- package/dist/hooks/before-agent-reply.d.ts.map +1 -0
- package/dist/hooks/before-agent-reply.js +42 -0
- package/dist/hooks/before-agent-reply.js.map +1 -0
- package/dist/hooks/index.d.ts +7 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +17 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/model-call.d.ts +39 -0
- package/dist/hooks/model-call.d.ts.map +1 -0
- package/dist/hooks/model-call.js +120 -0
- package/dist/hooks/model-call.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/pricing.d.ts +12 -0
- package/dist/pricing.d.ts.map +1 -0
- package/dist/pricing.js +43 -0
- package/dist/pricing.js.map +1 -0
- package/dist/provider/auth.d.ts +14 -0
- package/dist/provider/auth.d.ts.map +1 -0
- package/dist/provider/auth.js +53 -0
- package/dist/provider/auth.js.map +1 -0
- package/dist/provider/index.d.ts +12 -0
- package/dist/provider/index.d.ts.map +1 -0
- package/dist/provider/index.js +134 -0
- package/dist/provider/index.js.map +1 -0
- package/dist/provider/route.d.ts +10 -0
- package/dist/provider/route.d.ts.map +1 -0
- package/dist/provider/route.js +19 -0
- package/dist/provider/route.js.map +1 -0
- package/dist/provider/stream.d.ts +10 -0
- package/dist/provider/stream.d.ts.map +1 -0
- package/dist/provider/stream.js +120 -0
- package/dist/provider/stream.js.map +1 -0
- package/dist/provider/synthetic.d.ts +13 -0
- package/dist/provider/synthetic.d.ts.map +1 -0
- package/dist/provider/synthetic.js +59 -0
- package/dist/provider/synthetic.js.map +1 -0
- package/dist/provider/upstream/anthropic.d.ts +13 -0
- package/dist/provider/upstream/anthropic.d.ts.map +1 -0
- package/dist/provider/upstream/anthropic.js +62 -0
- package/dist/provider/upstream/anthropic.js.map +1 -0
- package/dist/provider/upstream/openai.d.ts +17 -0
- package/dist/provider/upstream/openai.d.ts.map +1 -0
- package/dist/provider/upstream/openai.js +75 -0
- package/dist/provider/upstream/openai.js.map +1 -0
- package/dist/source.d.ts +35 -0
- package/dist/source.d.ts.map +1 -0
- package/dist/source.js +41 -0
- package/dist/source.js.map +1 -0
- package/dist/state.d.ts +56 -0
- package/dist/state.d.ts.map +1 -0
- package/dist/state.js +178 -0
- package/dist/state.js.map +1 -0
- package/dist/store.d.ts +23 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +68 -0
- package/dist/store.js.map +1 -0
- package/dist/tools/index.d.ts +13 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +63 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/types.d.ts +98 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +7 -0
- package/dist/types.js.map +1 -0
- package/openclaw.plugin.json +44 -0
- package/package.json +49 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Config risk detection
|
|
3
|
+
*
|
|
4
|
+
* Check at startup whether fallback config may bypass Mapick
|
|
5
|
+
*/
|
|
6
|
+
export function detectConfigRisks(config) {
|
|
7
|
+
const warnings = [];
|
|
8
|
+
const modelConfig = config?.agents?.defaults?.model;
|
|
9
|
+
if (!modelConfig)
|
|
10
|
+
return warnings;
|
|
11
|
+
const primary = modelConfig.primary ?? "";
|
|
12
|
+
const fallbacks = modelConfig.fallbacks ?? [];
|
|
13
|
+
if (primary.startsWith("mapick/")) {
|
|
14
|
+
const nonMapickFallbacks = fallbacks.filter((f) => !f.startsWith("mapick/"));
|
|
15
|
+
if (nonMapickFallbacks.length > 0) {
|
|
16
|
+
warnings.push({
|
|
17
|
+
level: "warn",
|
|
18
|
+
message: `Configuration risk: primary model uses Mapick (${primary}), ` +
|
|
19
|
+
`but fallbacks include non-Mapick models (${nonMapickFallbacks.join(", ")}). ` +
|
|
20
|
+
`These fallbacks will bypass Mapick protection.`,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return warnings;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=config-warn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-warn.js","sourceRoot":"","sources":["../src/config-warn.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,UAAU,iBAAiB,CAAC,MAAW;IAC3C,MAAM,QAAQ,GAAoB,EAAE,CAAC;IAErC,MAAM,WAAW,GAAG,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;IACpD,IAAI,CAAC,WAAW;QAAE,OAAO,QAAQ,CAAC;IAElC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAa,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC;IAExD,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,MAAM,kBAAkB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7E,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,MAAM;gBACb,OAAO,EACL,kDAAkD,OAAO,KAAK;oBAC9D,4CAA4C,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;oBAC9E,gDAAgD;aACnD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Config parsing and defaults
|
|
3
|
+
*/
|
|
4
|
+
import type { FirewallConfig } from "./types.js";
|
|
5
|
+
export declare const DEFAULT_CONFIG: Required<FirewallConfig>;
|
|
6
|
+
export declare function resolveConfig(input: Partial<FirewallConfig>): FirewallConfig;
|
|
7
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,cAAc,CAcnD,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAY5E"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Config parsing and defaults
|
|
3
|
+
*/
|
|
4
|
+
export const DEFAULT_CONFIG = {
|
|
5
|
+
breaker: {
|
|
6
|
+
consecutiveFailures: 3,
|
|
7
|
+
cooldownSec: 30,
|
|
8
|
+
tokenVelocityWindowSec: 60,
|
|
9
|
+
tokenVelocityThreshold: 100000,
|
|
10
|
+
callFrequencyWindowSec: 60,
|
|
11
|
+
callFrequencyThreshold: 30,
|
|
12
|
+
},
|
|
13
|
+
dailyTokenLimit: null,
|
|
14
|
+
privacy: {
|
|
15
|
+
storePromptText: false,
|
|
16
|
+
enableRawConversationHooks: false,
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
export function resolveConfig(input) {
|
|
20
|
+
return {
|
|
21
|
+
breaker: {
|
|
22
|
+
...DEFAULT_CONFIG.breaker,
|
|
23
|
+
...input.breaker,
|
|
24
|
+
},
|
|
25
|
+
dailyTokenLimit: input.dailyTokenLimit ?? DEFAULT_CONFIG.dailyTokenLimit,
|
|
26
|
+
privacy: {
|
|
27
|
+
...DEFAULT_CONFIG.privacy,
|
|
28
|
+
...input.privacy,
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,cAAc,GAA6B;IACtD,OAAO,EAAE;QACP,mBAAmB,EAAE,CAAC;QACtB,WAAW,EAAE,EAAE;QACf,sBAAsB,EAAE,EAAE;QAC1B,sBAAsB,EAAE,MAAM;QAC9B,sBAAsB,EAAE,EAAE;QAC1B,sBAAsB,EAAE,EAAE;KAC3B;IACD,eAAe,EAAE,IAAI;IACrB,OAAO,EAAE;QACP,eAAe,EAAE,KAAK;QACtB,0BAA0B,EAAE,KAAK;KAClC;CACF,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,KAA8B;IAC1D,OAAO;QACL,OAAO,EAAE;YACP,GAAG,cAAc,CAAC,OAAO;YACzB,GAAG,KAAK,CAAC,OAAO;SACjB;QACD,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,cAAc,CAAC,eAAe;QACxE,OAAO,EAAE;YACP,GAAG,cAAc,CAAC,OAAO;YACzB,GAAG,KAAK,CAAC,OAAO;SACjB;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/dashboard/html.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAg4BvD"}
|