Files
Z User e45b68bb8b feat: IMAP mail sync with thread-to-contact matching (PRD §6.1)
Real IMAP connection via imapflow library:
- Connects to IMAP server (IMAPFlow, TLS on port 993)
- Fetches recent messages (configurable limit, default 20)
- Extracts: from, fromEmail, subject, date, snippet (200 chars)
- Thread-to-contact matching (PRD §6.1):
  1. Match sender email against persons table
  2. If no person match, extract domain and match against company.website
  3. Returns matchedCompany + matchedPerson for each email
- Audit-logged (action: crm.mailsync:imap)
- Zod validated (host, port, user, password, folder, limit)
- 502 on IMAP connection failure with detail
- 400 on validation failure

Tested: invalid creds → 502 'IMAP connection failed', missing host → 400
2026-10-27 22:50:50 +00:00

1.7 KiB
Executable File
Raw Permalink Blame History

框架识别特征

Three.js

未混淆:THREE., WebGLRenderer, ShaderMaterial, BufferGeometry

混淆后(通过构造参数推断):

调用模式 原始类
new X({canvas, antialias, alpha}) WebGLRenderer
new X(fov, aspect, near, far) — 4 数字 PerspectiveCamera
new X(-1, 1, 1, -1, 0, 1) — 6 参数 OrthographicCamera
new X(w, h, {wrapS, minFilter}) WebGLRenderTarget
new X(data, w, h, format, type) — Float32Array DataTexture
new X(2, 2) 作为几何体 PlaneGeometry
new X({uniforms, vertexShader, fragmentShader}) ShaderMaterial
X.getElapsedTime() Clock

常量:ClampToEdgeWrapping, NearestFilter, RGBAFormat, FloatType, DoubleSide

2D Canvas

dataEngine: null 时,用 getContext('2d') 有无 + createShader/shaderSource 有无区分:

  • 有 getContext('2d'),无 WebGL 调用 → 纯 2D Canvas
  • 有 WebGL 调用 → Raw WebGL / PixiJS

Raw WebGL

gl.createShader / gl.shaderSource / gl.compileShader / gl.createProgram
gl.bindBuffer / gl.bindFramebuffer / gl.drawArrays

PixiJS

PIXI.Application, PIXI.Filter, new PIXI.Filter(vertSrc, fragSrc, uniforms)

Babylon.js

BABYLON.Engine, BABYLON.ShaderMaterial, BABYLON.Effect.ShadersStore

GPGPU 模式

两个 WebGLRenderTarget(ping-pong)+ OrthographicCamera(-1,1,1,-1,0,1) + PlaneGeometry(2,2) + DataTexture 初始位置 + setRenderTarget 循环

常见噪声

函数 类型
snoise Simplex noise (Ashima)
cnoise Classic Perlin
cellular Worley/Voronoi
fbm Fractal Brownian Motion