veryfront 0.1.671 → 0.1.672

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/esm/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.671",
3
+ "version": "0.1.672",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "workspace": [
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../../src/src/agent/middleware/security/validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGlE,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,KAAK,CAAC,EAAE;QACN,2BAA2B;QAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB,+BAA+B;QAC/B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAE3B,qBAAqB;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;QAEnB,uBAAuB;QACvB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KAC1D,CAAC;IAEF,6BAA6B;IAC7B,MAAM,CAAC,EAAE;QACP,iCAAiC;QACjC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAE3B,qDAAqD;QACrD,SAAS,CAAC,EAAE,OAAO,CAAC;QAEpB,oBAAoB;QACpB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;KACvD,CAAC;IAEF,qCAAqC;IACrC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,iBAAiB;IAChC,qBAAqB;IACrB,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IAEzB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IAEf,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAEhB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB;IAClC,gCAAgC;;IAWhC,kCAAkC;;IASlC,6BAA6B;;IAM7B,mBAAmB;;CAMpB,CAAC;AAeF;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAuC;gBAEzC,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC;IAI5C;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QACrC,KAAK,EAAE,OAAO,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,iBAAiB,EAAE,CAAC;KACjC,CAAC;IA4CF,sDAAsD;IACtD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAIvC;IAEF;;OAEG;IACH,OAAO,CAAC,aAAa;CAMtB;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAwC;gBAE1C,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC;IAI7C;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACpC,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,iBAAiB,EAAE,CAAC;KACjC,CAAC;IA6BF;;OAEG;IACH,OAAO,CAAC,SAAS;CAMlB;AAaD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,GACrB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAoCvF"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../../src/src/agent/middleware/security/validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAW,MAAM,gBAAgB,CAAC;AAG3E,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,KAAK,CAAC,EAAE;QACN,2BAA2B;QAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB,+BAA+B;QAC/B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAE3B,qBAAqB;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;QAEnB,uBAAuB;QACvB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KAC1D,CAAC;IAEF,6BAA6B;IAC7B,MAAM,CAAC,EAAE;QACP,iCAAiC;QACjC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAE3B,qDAAqD;QACrD,SAAS,CAAC,EAAE,OAAO,CAAC;QAEpB,oBAAoB;QACpB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;KACvD,CAAC;IAEF,qCAAqC;IACrC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,iBAAiB;IAChC,qBAAqB;IACrB,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IAEzB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IAEf,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAEhB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB;IAClC,gCAAgC;;IAWhC,kCAAkC;;IASlC,6BAA6B;;IAM7B,mBAAmB;;CAMpB,CAAC;AAeF;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAuC;gBAEzC,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC;IAI5C;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QACrC,KAAK,EAAE,OAAO,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,iBAAiB,EAAE,CAAC;KACjC,CAAC;IA4CF,sDAAsD;IACtD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAIvC;IAEF;;OAEG;IACH,OAAO,CAAC,aAAa;CAMtB;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAwC;gBAE1C,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC;IAI7C;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACpC,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,iBAAiB,EAAE,CAAC;KACjC,CAAC;IA6BF;;OAEG;IACH,OAAO,CAAC,SAAS;CAMlB;AAmDD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,GACrB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAkCvF"}
@@ -9,7 +9,7 @@ export const COMMON_BLOCKED_PATTERNS = {
9
9
  /ignore\s+all\s+previous\s+prompts/i,
10
10
  /you\s+are\s+now\s+a/i,
11
11
  /pretend\s+you\s+are/i,
12
- /system:\s*/i,
12
+ /(^|\n)\s*system:\s*/i,
13
13
  /<\|im_start\|>/i,
14
14
  /<\|im_end\|>/i,
15
15
  ],
@@ -157,6 +157,42 @@ function reportViolations(violations, onViolation) {
157
157
  for (const violation of violations)
158
158
  onViolation(violation);
159
159
  }
160
+ function isRecord(value) {
161
+ return typeof value === "object" && value !== null && !Array.isArray(value);
162
+ }
163
+ function extractPartInputText(part) {
164
+ if (isRecord(part) && part.type === "text" && typeof part.text === "string")
165
+ return [part.text];
166
+ if (!isRecord(part) || part.type === "tool-result")
167
+ return [];
168
+ const values = [];
169
+ if (typeof part.inputText === "string")
170
+ values.push(part.inputText);
171
+ if (isRecord(part.args))
172
+ values.push(JSON.stringify(part.args));
173
+ if (isRecord(part.input))
174
+ values.push(JSON.stringify(part.input));
175
+ return values;
176
+ }
177
+ function extractMessageInputText(message) {
178
+ if (message.role !== "user")
179
+ return [];
180
+ return message.parts.flatMap(extractPartInputText);
181
+ }
182
+ function extractInputValidationTexts(input) {
183
+ if (typeof input === "string")
184
+ return [input];
185
+ return input.flatMap(extractMessageInputText);
186
+ }
187
+ async function validateInputTexts(validator, values) {
188
+ const results = await Promise.all(values.map((value) => validator.validate(value)));
189
+ const firstResult = results[0];
190
+ return {
191
+ valid: results.every((result) => result.valid),
192
+ sanitized: values.length === 1 ? firstResult?.sanitized : undefined,
193
+ violations: results.flatMap((result) => result.violations),
194
+ };
195
+ }
160
196
  /**
161
197
  * Create security middleware for agents
162
198
  */
@@ -164,10 +200,8 @@ export function securityMiddleware(config) {
164
200
  const inputValidator = new InputValidator(config.input);
165
201
  const outputFilter = new OutputFilter(config.output);
166
202
  return async (context, next) => {
167
- const inputString = typeof context.input === "string"
168
- ? context.input
169
- : JSON.stringify(context.input);
170
- const inputValidation = await inputValidator.validate(inputString);
203
+ const inputValues = extractInputValidationTexts(context.input);
204
+ const inputValidation = await validateInputTexts(inputValidator, inputValues);
171
205
  if (!inputValidation.valid) {
172
206
  reportViolations(inputValidation.violations, config.onViolation);
173
207
  const firstViolation = inputValidation.violations[0];
@@ -1 +1 @@
1
- {"version":3,"file":"node-telemetry.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/service/node-telemetry.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,kCAAkC,EACvC,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAE3B,MAAM,yCAAyC,CAAC;AAEjD,uEAAuE;AACvE,MAAM,MAAM,kCAAkC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAEpF,gEAAgE;AAChE,MAAM,MAAM,4BAA4B,GAAG,kCAAkC,CAAC;AAE9E,uEAAuE;AACvE,MAAM,MAAM,2CAA2C,GAAG,kCAAkC,CAAC;AAE7F,gEAAgE;AAChE,MAAM,MAAM,qCAAqC,GAAG,2CAA2C,CAAC;AAEhG,iEAAiE;AACjE,MAAM,MAAM,qCAAqC,GAAG;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,eAAe,EAAE,2CAA2C,CAAC;CAC9D,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,+BAA+B,GAAG,qCAAqC,CAAC;AAEpF,8EAA8E;AAC9E,MAAM,MAAM,mDAAmD,GAAG;IAChE,GAAG,EAAE,kCAAkC,CAAC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,uEAAuE;AACvE,MAAM,MAAM,6CAA6C,GACvD,mDAAmD,CAAC;AAEtD,0EAA0E;AAC1E,MAAM,MAAM,qCAAqC,GAAG,mBAAmB,CAAC;AAExE,mEAAmE;AACnE,MAAM,MAAM,+BAA+B,GAAG,qCAAqC,CAAC;AAEpF,kFAAkF;AAClF,MAAM,MAAM,4CAA4C,GAAG,0BAA0B,CAAC;AAEtF,2EAA2E;AAC3E,MAAM,MAAM,sCAAsC,GAAG,4CAA4C,CAAC;AAElG,0EAA0E;AAC1E,MAAM,MAAM,gDAAgD,GACxD,qCAAqC,GACrC;IACA,MAAM,CAAC,EAAE,qCAAqC,CAAC;IAC/C,aAAa,CAAC,EAAE,4CAA4C,CAAC;IAC7D,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;CAC3C,CAAC;AAEJ,mEAAmE;AACnE,MAAM,MAAM,0CAA0C,GACpD,gDAAgD,CAAC;AA6CnD,yEAAyE;AACzE,wBAAgB,4CAA4C,CAC1D,OAAO,EAAE,mDAAmD,GAC3D,qCAAqC,CAYvC;AAED,kEAAkE;AAClE,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,6CAA6C,GACrD,+BAA+B,CAEjC;AAgCD,2DAA2D;AAC3D,wBAAsB,6CAA6C,CACjE,OAAO,EAAE,gDAAgD,GACxD,OAAO,CAAC,OAAO,CAAC,CAkClB;AAED,oDAAoD;AACpD,wBAAsB,uCAAuC,CAC3D,OAAO,EAAE,0CAA0C,GAClD,OAAO,CAAC,OAAO,CAAC,CAElB"}
1
+ {"version":3,"file":"node-telemetry.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/service/node-telemetry.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,kCAAkC,EACvC,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAE3B,MAAM,yCAAyC,CAAC;AAEjD,uEAAuE;AACvE,MAAM,MAAM,kCAAkC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAEpF,gEAAgE;AAChE,MAAM,MAAM,4BAA4B,GAAG,kCAAkC,CAAC;AAE9E,uEAAuE;AACvE,MAAM,MAAM,2CAA2C,GAAG,kCAAkC,CAAC;AAE7F,gEAAgE;AAChE,MAAM,MAAM,qCAAqC,GAAG,2CAA2C,CAAC;AAEhG,iEAAiE;AACjE,MAAM,MAAM,qCAAqC,GAAG;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,eAAe,EAAE,2CAA2C,CAAC;CAC9D,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,+BAA+B,GAAG,qCAAqC,CAAC;AAEpF,8EAA8E;AAC9E,MAAM,MAAM,mDAAmD,GAAG;IAChE,GAAG,EAAE,kCAAkC,CAAC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,uEAAuE;AACvE,MAAM,MAAM,6CAA6C,GACvD,mDAAmD,CAAC;AAEtD,0EAA0E;AAC1E,MAAM,MAAM,qCAAqC,GAAG,mBAAmB,CAAC;AAExE,mEAAmE;AACnE,MAAM,MAAM,+BAA+B,GAAG,qCAAqC,CAAC;AAEpF,kFAAkF;AAClF,MAAM,MAAM,4CAA4C,GAAG,0BAA0B,CAAC;AAEtF,2EAA2E;AAC3E,MAAM,MAAM,sCAAsC,GAAG,4CAA4C,CAAC;AAElG,0EAA0E;AAC1E,MAAM,MAAM,gDAAgD,GACxD,qCAAqC,GACrC;IACA,MAAM,CAAC,EAAE,qCAAqC,CAAC;IAC/C,aAAa,CAAC,EAAE,4CAA4C,CAAC;IAC7D,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;CAC3C,CAAC;AAEJ,mEAAmE;AACnE,MAAM,MAAM,0CAA0C,GACpD,gDAAgD,CAAC;AAqDnD,yEAAyE;AACzE,wBAAgB,4CAA4C,CAC1D,OAAO,EAAE,mDAAmD,GAC3D,qCAAqC,CAYvC;AAED,kEAAkE;AAClE,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,6CAA6C,GACrD,+BAA+B,CAEjC;AAgCD,2DAA2D;AAC3D,wBAAsB,6CAA6C,CACjE,OAAO,EAAE,gDAAgD,GACxD,OAAO,CAAC,OAAO,CAAC,CAkClB;AAED,oDAAoD;AACpD,wBAAsB,uCAAuC,CAC3D,OAAO,EAAE,0CAA0C,GAClD,OAAO,CAAC,OAAO,CAAC,CAElB"}
@@ -13,6 +13,13 @@ function resolveSamplingRatio(env) {
13
13
  return 1.0;
14
14
  return Math.min(Math.max(ratio, 0), 1);
15
15
  }
16
+ function resolveDeploymentEnvironment(env) {
17
+ return env.OTEL_DEPLOYMENT_ENVIRONMENT ??
18
+ env.APP_ENVIRONMENT ??
19
+ env.VERYFRONT_ENVIRONMENT ??
20
+ env.NODE_ENV ??
21
+ "development";
22
+ }
16
23
  function parseExporterHeaders(headersEnv) {
17
24
  if (!headersEnv)
18
25
  return undefined;
@@ -44,7 +51,7 @@ export function resolveNodeHostedAgentServiceTelemetryConfig(options) {
44
51
  enabled: resolveEnabled(options.env, defaultEnabled),
45
52
  serviceName: options.env.OTEL_SERVICE_NAME ?? options.defaultServiceName,
46
53
  serviceVersion: options.env.npm_package_version ?? options.defaultServiceVersion ?? "0.1.0",
47
- deploymentEnvironment: options.env.NODE_ENV ?? "development",
54
+ deploymentEnvironment: resolveDeploymentEnvironment(options.env),
48
55
  samplingRatio: resolveSamplingRatio(options.env),
49
56
  exporterHeaders: parseExporterHeaders(options.env.OTEL_EXPORTER_OTLP_HEADERS),
50
57
  instrumentation: resolveInstrumentationConfig(options.env),
@@ -1,3 +1,3 @@
1
1
  /** Shared version value. */
2
- export declare const VERSION = "0.1.671";
2
+ export declare const VERSION = "0.1.672";
3
3
  //# sourceMappingURL=version-constant.d.ts.map
@@ -1,4 +1,4 @@
1
1
  // Keep in sync with deno.json version.
2
2
  // scripts/release.ts updates this constant during releases.
3
3
  /** Shared version value. */
4
- export const VERSION = "0.1.671";
4
+ export const VERSION = "0.1.672";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "veryfront",
3
- "version": "0.1.671",
3
+ "version": "0.1.672",
4
4
  "description": "The simplest way to build AI-powered apps",
5
5
  "keywords": [
6
6
  "react",