@congzhen/changewayguard 6.8.12
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 +270 -0
- package/dashboard-dist/api/104.index.js +1420 -0
- package/dashboard-dist/api/104.index.js.map +1 -0
- package/dashboard-dist/api/113.index.js +496 -0
- package/dashboard-dist/api/113.index.js.map +1 -0
- package/dashboard-dist/api/18.index.js +67 -0
- package/dashboard-dist/api/18.index.js.map +1 -0
- package/dashboard-dist/api/217.index.js +44 -0
- package/dashboard-dist/api/217.index.js.map +1 -0
- package/dashboard-dist/api/222.index.js +90 -0
- package/dashboard-dist/api/222.index.js.map +1 -0
- package/dashboard-dist/api/25.index.js +3562 -0
- package/dashboard-dist/api/25.index.js.map +1 -0
- package/dashboard-dist/api/280.index.js +206 -0
- package/dashboard-dist/api/280.index.js.map +1 -0
- package/dashboard-dist/api/369.index.js +115 -0
- package/dashboard-dist/api/369.index.js.map +1 -0
- package/dashboard-dist/api/377.index.js +1176 -0
- package/dashboard-dist/api/377.index.js.map +1 -0
- package/dashboard-dist/api/411.index.js +4250 -0
- package/dashboard-dist/api/411.index.js.map +1 -0
- package/dashboard-dist/api/424.index.js +135 -0
- package/dashboard-dist/api/424.index.js.map +1 -0
- package/dashboard-dist/api/573.index.js +806 -0
- package/dashboard-dist/api/573.index.js.map +1 -0
- package/dashboard-dist/api/598.index.js +328 -0
- package/dashboard-dist/api/598.index.js.map +1 -0
- package/dashboard-dist/api/62.index.js +4151 -0
- package/dashboard-dist/api/62.index.js.map +1 -0
- package/dashboard-dist/api/67.index.js +23383 -0
- package/dashboard-dist/api/67.index.js.map +1 -0
- package/dashboard-dist/api/678.index.js +2734 -0
- package/dashboard-dist/api/678.index.js.map +1 -0
- package/dashboard-dist/api/698.index.js +1896 -0
- package/dashboard-dist/api/698.index.js.map +1 -0
- package/dashboard-dist/api/720.index.js +98 -0
- package/dashboard-dist/api/720.index.js.map +1 -0
- package/dashboard-dist/api/830.index.js +95 -0
- package/dashboard-dist/api/830.index.js.map +1 -0
- package/dashboard-dist/api/831.index.js +99 -0
- package/dashboard-dist/api/831.index.js.map +1 -0
- package/dashboard-dist/api/84.index.js +64 -0
- package/dashboard-dist/api/84.index.js.map +1 -0
- package/dashboard-dist/api/900.index.js +65 -0
- package/dashboard-dist/api/900.index.js.map +1 -0
- package/dashboard-dist/api/917.index.js +88 -0
- package/dashboard-dist/api/917.index.js.map +1 -0
- package/dashboard-dist/api/948.index.js +64 -0
- package/dashboard-dist/api/948.index.js.map +1 -0
- package/dashboard-dist/api/953.index.js +67 -0
- package/dashboard-dist/api/953.index.js.map +1 -0
- package/dashboard-dist/api/975.index.js +374 -0
- package/dashboard-dist/api/975.index.js.map +1 -0
- package/dashboard-dist/api/drizzle/sqlite/0000_short_captain_stacy.sql +70 -0
- package/dashboard-dist/api/drizzle/sqlite/0001_closed_magus.sql +10 -0
- package/dashboard-dist/api/drizzle/sqlite/0002_agent_capability_observation.sql +38 -0
- package/dashboard-dist/api/drizzle/sqlite/0003_auth_magic_link.sql +28 -0
- package/dashboard-dist/api/drizzle/sqlite/0004_static_scan_fields.sql +8 -0
- package/dashboard-dist/api/drizzle/sqlite/0005_gateway_activity.sql +24 -0
- package/dashboard-dist/api/drizzle/sqlite/0006_sour_marauders.sql +41 -0
- package/dashboard-dist/api/drizzle/sqlite/meta/0000_snapshot.json +460 -0
- package/dashboard-dist/api/drizzle/sqlite/meta/0001_snapshot.json +536 -0
- package/dashboard-dist/api/drizzle/sqlite/meta/0006_snapshot.json +1249 -0
- package/dashboard-dist/api/drizzle/sqlite/meta/_journal.json +55 -0
- package/dashboard-dist/api/index.js +27340 -0
- package/dashboard-dist/api/index.js.map +1 -0
- package/dashboard-dist/api/package.json +16 -0
- package/dashboard-dist/api/sourcemap-register.cjs +1 -0
- package/dashboard-dist/web/assets/index-CqWIeBTD.js +158 -0
- package/dashboard-dist/web/assets/index-Dw7--9q4.css +1 -0
- package/dashboard-dist/web/changeway-logo.png +0 -0
- package/dashboard-dist/web/favicon.svg +29 -0
- package/dashboard-dist/web/index.html +14 -0
- package/dashboard-dist/web/logo.svg +16 -0
- package/dist/agent/auth.d.ts +37 -0
- package/dist/agent/auth.d.ts.map +1 -0
- package/dist/agent/auth.js +151 -0
- package/dist/agent/auth.js.map +1 -0
- package/dist/agent/behavior-detector.d.ts +150 -0
- package/dist/agent/behavior-detector.d.ts.map +1 -0
- package/dist/agent/behavior-detector.js +573 -0
- package/dist/agent/behavior-detector.js.map +1 -0
- package/dist/agent/business-reporter.d.ts +114 -0
- package/dist/agent/business-reporter.d.ts.map +1 -0
- package/dist/agent/business-reporter.js +359 -0
- package/dist/agent/business-reporter.js.map +1 -0
- package/dist/agent/config-sync.d.ts +70 -0
- package/dist/agent/config-sync.d.ts.map +1 -0
- package/dist/agent/config-sync.js +133 -0
- package/dist/agent/config-sync.js.map +1 -0
- package/dist/agent/config.d.ts +97 -0
- package/dist/agent/config.d.ts.map +1 -0
- package/dist/agent/config.js +359 -0
- package/dist/agent/config.js.map +1 -0
- package/dist/agent/content-injection-scanner.d.ts +35 -0
- package/dist/agent/content-injection-scanner.d.ts.map +1 -0
- package/dist/agent/content-injection-scanner.js +270 -0
- package/dist/agent/content-injection-scanner.js.map +1 -0
- package/dist/agent/engine-log-writer.d.ts +6 -0
- package/dist/agent/engine-log-writer.d.ts.map +1 -0
- package/dist/agent/engine-log-writer.js +18 -0
- package/dist/agent/engine-log-writer.js.map +1 -0
- package/dist/agent/env.d.ts +19 -0
- package/dist/agent/env.d.ts.map +1 -0
- package/dist/agent/env.js +43 -0
- package/dist/agent/env.js.map +1 -0
- package/dist/agent/event-reporter.d.ts +87 -0
- package/dist/agent/event-reporter.d.ts.map +1 -0
- package/dist/agent/event-reporter.js +315 -0
- package/dist/agent/event-reporter.js.map +1 -0
- package/dist/agent/file-watcher.d.ts +50 -0
- package/dist/agent/file-watcher.d.ts.map +1 -0
- package/dist/agent/file-watcher.js +135 -0
- package/dist/agent/file-watcher.js.map +1 -0
- package/dist/agent/fs-utils.d.ts +22 -0
- package/dist/agent/fs-utils.d.ts.map +1 -0
- package/dist/agent/fs-utils.js +41 -0
- package/dist/agent/fs-utils.js.map +1 -0
- package/dist/agent/gateway-manager.d.ts +59 -0
- package/dist/agent/gateway-manager.d.ts.map +1 -0
- package/dist/agent/gateway-manager.js +583 -0
- package/dist/agent/gateway-manager.js.map +1 -0
- package/dist/agent/hook-types.d.ts +276 -0
- package/dist/agent/hook-types.d.ts.map +1 -0
- package/dist/agent/hook-types.js +51 -0
- package/dist/agent/hook-types.js.map +1 -0
- package/dist/agent/index.d.ts +8 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +8 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/prompt-gate.d.ts +13 -0
- package/dist/agent/prompt-gate.d.ts.map +1 -0
- package/dist/agent/prompt-gate.js +28 -0
- package/dist/agent/prompt-gate.js.map +1 -0
- package/dist/agent/prompt-input.d.ts +9 -0
- package/dist/agent/prompt-input.d.ts.map +1 -0
- package/dist/agent/prompt-input.js +158 -0
- package/dist/agent/prompt-input.js.map +1 -0
- package/dist/agent/prompt-output.d.ts +4 -0
- package/dist/agent/prompt-output.d.ts.map +1 -0
- package/dist/agent/prompt-output.js +19 -0
- package/dist/agent/prompt-output.js.map +1 -0
- package/dist/agent/runner.d.ts +23 -0
- package/dist/agent/runner.d.ts.map +1 -0
- package/dist/agent/runner.js +154 -0
- package/dist/agent/runner.js.map +1 -0
- package/dist/agent/sanitizer.d.ts +10 -0
- package/dist/agent/sanitizer.d.ts.map +1 -0
- package/dist/agent/sanitizer.js +175 -0
- package/dist/agent/sanitizer.js.map +1 -0
- package/dist/agent/scan-activity.d.ts +18 -0
- package/dist/agent/scan-activity.d.ts.map +1 -0
- package/dist/agent/scan-activity.js +32 -0
- package/dist/agent/scan-activity.js.map +1 -0
- package/dist/agent/types.d.ts +177 -0
- package/dist/agent/types.d.ts.map +1 -0
- package/dist/agent/types.js +5 -0
- package/dist/agent/types.js.map +1 -0
- package/dist/agent/workspace-scanner.d.ts +35 -0
- package/dist/agent/workspace-scanner.d.ts.map +1 -0
- package/dist/agent/workspace-scanner.js +137 -0
- package/dist/agent/workspace-scanner.js.map +1 -0
- package/dist/dashboard-launcher.d.ts +52 -0
- package/dist/dashboard-launcher.d.ts.map +1 -0
- package/dist/dashboard-launcher.js +363 -0
- package/dist/dashboard-launcher.js.map +1 -0
- package/dist/gateway/activity.d.ts +52 -0
- package/dist/gateway/activity.d.ts.map +1 -0
- package/dist/gateway/activity.js +111 -0
- package/dist/gateway/activity.js.map +1 -0
- package/dist/gateway/config.d.ts +50 -0
- package/dist/gateway/config.d.ts.map +1 -0
- package/dist/gateway/config.js +200 -0
- package/dist/gateway/config.js.map +1 -0
- package/dist/gateway/gateway/activity.d.ts +52 -0
- package/dist/gateway/gateway/activity.d.ts.map +1 -0
- package/dist/gateway/gateway/activity.js +111 -0
- package/dist/gateway/gateway/activity.js.map +1 -0
- package/dist/gateway/gateway/config.d.ts +50 -0
- package/dist/gateway/gateway/config.d.ts.map +1 -0
- package/dist/gateway/gateway/config.js +200 -0
- package/dist/gateway/gateway/config.js.map +1 -0
- package/dist/gateway/gateway/handlers/anthropic.d.ts +12 -0
- package/dist/gateway/gateway/handlers/anthropic.d.ts.map +1 -0
- package/dist/gateway/gateway/handlers/anthropic.js +254 -0
- package/dist/gateway/gateway/handlers/anthropic.js.map +1 -0
- package/dist/gateway/gateway/handlers/gemini.d.ts +12 -0
- package/dist/gateway/gateway/handlers/gemini.d.ts.map +1 -0
- package/dist/gateway/gateway/handlers/gemini.js +101 -0
- package/dist/gateway/gateway/handlers/gemini.js.map +1 -0
- package/dist/gateway/gateway/handlers/models.d.ts +4 -0
- package/dist/gateway/gateway/handlers/models.d.ts.map +1 -0
- package/dist/gateway/gateway/handlers/models.js +36 -0
- package/dist/gateway/gateway/handlers/models.js.map +1 -0
- package/dist/gateway/gateway/handlers/openai.d.ts +16 -0
- package/dist/gateway/gateway/handlers/openai.d.ts.map +1 -0
- package/dist/gateway/gateway/handlers/openai.js +254 -0
- package/dist/gateway/gateway/handlers/openai.js.map +1 -0
- package/dist/gateway/gateway/index.d.ts +27 -0
- package/dist/gateway/gateway/index.d.ts.map +1 -0
- package/dist/gateway/gateway/index.js +293 -0
- package/dist/gateway/gateway/index.js.map +1 -0
- package/dist/gateway/gateway/mapping-store.d.ts +38 -0
- package/dist/gateway/gateway/mapping-store.d.ts.map +1 -0
- package/dist/gateway/gateway/mapping-store.js +74 -0
- package/dist/gateway/gateway/mapping-store.js.map +1 -0
- package/dist/gateway/gateway/restorer.d.ts +63 -0
- package/dist/gateway/gateway/restorer.d.ts.map +1 -0
- package/dist/gateway/gateway/restorer.js +284 -0
- package/dist/gateway/gateway/restorer.js.map +1 -0
- package/dist/gateway/gateway/sanitizer.d.ts +17 -0
- package/dist/gateway/gateway/sanitizer.d.ts.map +1 -0
- package/dist/gateway/gateway/sanitizer.js +228 -0
- package/dist/gateway/gateway/sanitizer.js.map +1 -0
- package/dist/gateway/gateway/types.d.ts +53 -0
- package/dist/gateway/gateway/types.d.ts.map +1 -0
- package/dist/gateway/gateway/types.js +5 -0
- package/dist/gateway/gateway/types.js.map +1 -0
- package/dist/gateway/handlers/anthropic.d.ts +12 -0
- package/dist/gateway/handlers/anthropic.d.ts.map +1 -0
- package/dist/gateway/handlers/anthropic.js +254 -0
- package/dist/gateway/handlers/anthropic.js.map +1 -0
- package/dist/gateway/handlers/gemini.d.ts +12 -0
- package/dist/gateway/handlers/gemini.d.ts.map +1 -0
- package/dist/gateway/handlers/gemini.js +101 -0
- package/dist/gateway/handlers/gemini.js.map +1 -0
- package/dist/gateway/handlers/models.d.ts +4 -0
- package/dist/gateway/handlers/models.d.ts.map +1 -0
- package/dist/gateway/handlers/models.js +36 -0
- package/dist/gateway/handlers/models.js.map +1 -0
- package/dist/gateway/handlers/openai.d.ts +16 -0
- package/dist/gateway/handlers/openai.d.ts.map +1 -0
- package/dist/gateway/handlers/openai.js +254 -0
- package/dist/gateway/handlers/openai.js.map +1 -0
- package/dist/gateway/index.d.ts +27 -0
- package/dist/gateway/index.d.ts.map +1 -0
- package/dist/gateway/index.js +293 -0
- package/dist/gateway/index.js.map +1 -0
- package/dist/gateway/mapping-store.d.ts +38 -0
- package/dist/gateway/mapping-store.d.ts.map +1 -0
- package/dist/gateway/mapping-store.js +74 -0
- package/dist/gateway/mapping-store.js.map +1 -0
- package/dist/gateway/restorer.d.ts +63 -0
- package/dist/gateway/restorer.d.ts.map +1 -0
- package/dist/gateway/restorer.js +284 -0
- package/dist/gateway/restorer.js.map +1 -0
- package/dist/gateway/sanitizer.d.ts +17 -0
- package/dist/gateway/sanitizer.d.ts.map +1 -0
- package/dist/gateway/sanitizer.js +228 -0
- package/dist/gateway/sanitizer.js.map +1 -0
- package/dist/gateway/types.d.ts +53 -0
- package/dist/gateway/types.d.ts.map +1 -0
- package/dist/gateway/types.js +5 -0
- package/dist/gateway/types.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2084 -0
- package/dist/index.js.map +1 -0
- package/dist/memory/index.d.ts +5 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +5 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/store.d.ts +82 -0
- package/dist/memory/store.d.ts.map +1 -0
- package/dist/memory/store.js +194 -0
- package/dist/memory/store.js.map +1 -0
- package/dist/platform-client/index.d.ts +63 -0
- package/dist/platform-client/index.d.ts.map +1 -0
- package/dist/platform-client/index.js +294 -0
- package/dist/platform-client/index.js.map +1 -0
- package/dist/platform-client/types.d.ts +109 -0
- package/dist/platform-client/types.d.ts.map +1 -0
- package/dist/platform-client/types.js +3 -0
- package/dist/platform-client/types.js.map +1 -0
- package/gateway/activity.d.ts +52 -0
- package/gateway/activity.d.ts.map +1 -0
- package/gateway/activity.js +111 -0
- package/gateway/activity.js.map +1 -0
- package/gateway/config.d.ts +50 -0
- package/gateway/config.d.ts.map +1 -0
- package/gateway/config.js +200 -0
- package/gateway/config.js.map +1 -0
- package/gateway/handlers/anthropic.d.ts +12 -0
- package/gateway/handlers/anthropic.d.ts.map +1 -0
- package/gateway/handlers/anthropic.js +254 -0
- package/gateway/handlers/anthropic.js.map +1 -0
- package/gateway/handlers/gemini.d.ts +12 -0
- package/gateway/handlers/gemini.d.ts.map +1 -0
- package/gateway/handlers/gemini.js +101 -0
- package/gateway/handlers/gemini.js.map +1 -0
- package/gateway/handlers/models.d.ts +4 -0
- package/gateway/handlers/models.d.ts.map +1 -0
- package/gateway/handlers/models.js +36 -0
- package/gateway/handlers/models.js.map +1 -0
- package/gateway/handlers/openai.d.ts +16 -0
- package/gateway/handlers/openai.d.ts.map +1 -0
- package/gateway/handlers/openai.js +254 -0
- package/gateway/handlers/openai.js.map +1 -0
- package/gateway/index.d.ts +27 -0
- package/gateway/index.d.ts.map +1 -0
- package/gateway/index.js +293 -0
- package/gateway/index.js.map +1 -0
- package/gateway/mapping-store.d.ts +38 -0
- package/gateway/mapping-store.d.ts.map +1 -0
- package/gateway/mapping-store.js +74 -0
- package/gateway/mapping-store.js.map +1 -0
- package/gateway/restorer.d.ts +63 -0
- package/gateway/restorer.d.ts.map +1 -0
- package/gateway/restorer.js +284 -0
- package/gateway/restorer.js.map +1 -0
- package/gateway/sanitizer.d.ts +17 -0
- package/gateway/sanitizer.d.ts.map +1 -0
- package/gateway/sanitizer.js +228 -0
- package/gateway/sanitizer.js.map +1 -0
- package/gateway/types.d.ts +53 -0
- package/gateway/types.d.ts.map +1 -0
- package/gateway/types.js +5 -0
- package/gateway/types.js.map +1 -0
- package/openclaw.plugin.json +86 -0
- package/package.json +74 -0
- package/samples/Untitled +1 -0
- package/samples/clean-email.txt +20 -0
- package/samples/test-document.md +53 -0
- package/samples/test-email-popup.txt +44 -0
- package/samples/test-email.txt +32 -0
- package/samples/test-webpage.html +51 -0
- package/scripts/enterprise-enroll.sh +89 -0
- package/scripts/enterprise-unenroll.sh +75 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"975.index.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA;AACA;;;;;;;;ACxHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["../../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/pg-core/indexes.js","../../../packages/db/dist/schema/pg.js"],"sourcesContent":["import { SQL } from \"../sql/sql.js\";\nimport { entityKind, is } from \"../entity.js\";\nimport { IndexedColumn } from \"./columns/index.js\";\nclass IndexBuilderOn {\n constructor(unique, name) {\n this.unique = unique;\n this.name = name;\n }\n static [entityKind] = \"PgIndexBuilderOn\";\n on(...columns) {\n return new IndexBuilder(\n columns.map((it) => {\n if (is(it, SQL)) {\n return it;\n }\n it = it;\n const clonedIndexedColumn = new IndexedColumn(it.name, !!it.keyAsName, it.columnType, it.indexConfig);\n it.indexConfig = JSON.parse(JSON.stringify(it.defaultConfig));\n return clonedIndexedColumn;\n }),\n this.unique,\n false,\n this.name\n );\n }\n onOnly(...columns) {\n return new IndexBuilder(\n columns.map((it) => {\n if (is(it, SQL)) {\n return it;\n }\n it = it;\n const clonedIndexedColumn = new IndexedColumn(it.name, !!it.keyAsName, it.columnType, it.indexConfig);\n it.indexConfig = it.defaultConfig;\n return clonedIndexedColumn;\n }),\n this.unique,\n true,\n this.name\n );\n }\n /**\n * Specify what index method to use. Choices are `btree`, `hash`, `gist`, `spgist`, `gin`, `brin`, or user-installed access methods like `bloom`. The default method is `btree.\n *\n * If you have the `pg_vector` extension installed in your database, you can use the `hnsw` and `ivfflat` options, which are predefined types.\n *\n * **You can always specify any string you want in the method, in case Drizzle doesn't have it natively in its types**\n *\n * @param method The name of the index method to be used\n * @param columns\n * @returns\n */\n using(method, ...columns) {\n return new IndexBuilder(\n columns.map((it) => {\n if (is(it, SQL)) {\n return it;\n }\n it = it;\n const clonedIndexedColumn = new IndexedColumn(it.name, !!it.keyAsName, it.columnType, it.indexConfig);\n it.indexConfig = JSON.parse(JSON.stringify(it.defaultConfig));\n return clonedIndexedColumn;\n }),\n this.unique,\n true,\n this.name,\n method\n );\n }\n}\nclass IndexBuilder {\n static [entityKind] = \"PgIndexBuilder\";\n /** @internal */\n config;\n constructor(columns, unique, only, name, method = \"btree\") {\n this.config = {\n name,\n columns,\n unique,\n only,\n method\n };\n }\n concurrently() {\n this.config.concurrently = true;\n return this;\n }\n with(obj) {\n this.config.with = obj;\n return this;\n }\n where(condition) {\n this.config.where = condition;\n return this;\n }\n /** @internal */\n build(table) {\n return new Index(this.config, table);\n }\n}\nclass Index {\n static [entityKind] = \"PgIndex\";\n config;\n constructor(config, table) {\n this.config = { ...config, table };\n }\n}\nfunction index(name) {\n return new IndexBuilderOn(false, name);\n}\nfunction uniqueIndex(name) {\n return new IndexBuilderOn(true, name);\n}\nexport {\n Index,\n IndexBuilder,\n IndexBuilderOn,\n index,\n uniqueIndex\n};\n//# sourceMappingURL=indexes.js.map","import { pgTable, uuid, varchar, text, boolean, integer, real, timestamp, jsonb, index, } from \"drizzle-orm/pg-core\";\n// ─── Settings ─────────────────────────────────────────────────\nexport const settings = pgTable(\"settings\", {\n key: varchar(\"key\", { length: 255 }).primaryKey(),\n value: text(\"value\").notNull(),\n updatedAt: timestamp(\"updated_at\", { withTimezone: true }).notNull().defaultNow(),\n});\n// ─── Agents ─────────────────────────────────────────────────────\nexport const agents = pgTable(\"agents\", {\n id: uuid(\"id\").primaryKey().defaultRandom(),\n tenantId: varchar(\"tenant_id\", { length: 64 }).notNull().default(\"default\"),\n name: varchar(\"name\", { length: 255 }).notNull(),\n description: text(\"description\"),\n provider: varchar(\"provider\", { length: 50 }).notNull().default(\"custom\"),\n status: varchar(\"status\", { length: 50 }).notNull().default(\"inactive\"),\n lastSeenAt: timestamp(\"last_seen_at\", { withTimezone: true }),\n metadata: jsonb(\"metadata\").notNull().default({}),\n createdAt: timestamp(\"created_at\", { withTimezone: true }).notNull().defaultNow(),\n updatedAt: timestamp(\"updated_at\", { withTimezone: true }).notNull().defaultNow(),\n}, (table) => ({\n statusIdx: index(\"idx_agents_status\").on(table.status),\n tenantIdIdx: index(\"idx_agents_tenant_id\").on(table.tenantId),\n}));\n// ─── Scanner Definitions ────────────────────────────────────────\nexport const scannerDefinitions = pgTable(\"scanner_definitions\", {\n id: uuid(\"id\").primaryKey().defaultRandom(),\n tenantId: varchar(\"tenant_id\", { length: 64 }).notNull().default(\"default\"),\n scannerId: varchar(\"scanner_id\", { length: 10 }).notNull(),\n name: varchar(\"name\", { length: 255 }).notNull(),\n description: text(\"description\").notNull(),\n config: jsonb(\"config\").notNull().default({}),\n isEnabled: boolean(\"is_enabled\").notNull().default(true),\n isDefault: boolean(\"is_default\").notNull().default(false),\n}, (table) => ({\n scannerIdIdx: index(\"idx_scanner_defs_scanner_id\").on(table.scannerId),\n tenantIdIdx: index(\"idx_scanner_defs_tenant_id\").on(table.tenantId),\n}));\n// ─── Policies ───────────────────────────────────────────────────\nexport const policies = pgTable(\"policies\", {\n id: uuid(\"id\").primaryKey().defaultRandom(),\n tenantId: varchar(\"tenant_id\", { length: 64 }).notNull().default(\"default\"),\n name: varchar(\"name\", { length: 255 }).notNull(),\n description: text(\"description\"),\n scannerIds: jsonb(\"scanner_ids\").notNull().default([]),\n action: varchar(\"action\", { length: 50 }).notNull().default(\"log\"),\n sensitivityThreshold: real(\"sensitivity_threshold\").notNull().default(0.5),\n isEnabled: boolean(\"is_enabled\").notNull().default(true),\n createdAt: timestamp(\"created_at\", { withTimezone: true }).notNull().defaultNow(),\n updatedAt: timestamp(\"updated_at\", { withTimezone: true }).notNull().defaultNow(),\n}, (table) => ({\n tenantIdIdx: index(\"idx_policies_tenant_id\").on(table.tenantId),\n}));\n// ─── Usage Logs ─────────────────────────────────────────────────\nexport const usageLogs = pgTable(\"usage_logs\", {\n id: uuid(\"id\").primaryKey().defaultRandom(),\n tenantId: varchar(\"tenant_id\", { length: 64 }).notNull().default(\"default\"),\n agentId: uuid(\"agent_id\"),\n endpoint: varchar(\"endpoint\", { length: 255 }).notNull(),\n statusCode: integer(\"status_code\").notNull(),\n responseSafe: boolean(\"response_safe\"),\n categories: jsonb(\"categories\").notNull().default([]),\n latencyMs: integer(\"latency_ms\").notNull(),\n requestId: varchar(\"request_id\", { length: 64 }).notNull(),\n createdAt: timestamp(\"created_at\", { withTimezone: true }).notNull().defaultNow(),\n}, (table) => ({\n agentIdIdx: index(\"idx_usage_logs_agent_id\").on(table.agentId),\n createdAtIdx: index(\"idx_usage_logs_created_at\").on(table.createdAt),\n tenantIdIdx: index(\"idx_usage_logs_tenant_id\").on(table.tenantId),\n}));\n// ─── Detection Results ──────────────────────────────────────────\nexport const detectionResults = pgTable(\"detection_results\", {\n id: uuid(\"id\").primaryKey().defaultRandom(),\n tenantId: varchar(\"tenant_id\", { length: 64 }).notNull().default(\"default\"),\n agentId: uuid(\"agent_id\"),\n safe: boolean(\"safe\").notNull(),\n categories: jsonb(\"categories\").notNull().default([]),\n sensitivityScore: real(\"sensitivity_score\").notNull().default(0),\n findings: jsonb(\"findings\").notNull().default([]),\n latencyMs: integer(\"latency_ms\").notNull(),\n requestId: varchar(\"request_id\", { length: 64 }).notNull(),\n // Static scan fields\n scanType: varchar(\"scan_type\", { length: 16 }).notNull().default(\"dynamic\"), // \"static\" or \"dynamic\"\n filePath: text(\"file_path\"), // Relative path from workspace for static scans\n fileType: varchar(\"file_type\", { length: 16 }), // \"soul\", \"agent\", \"memory\", \"task\", \"skill\", \"plugin\", \"other\"\n createdAt: timestamp(\"created_at\", { withTimezone: true }).notNull().defaultNow(),\n}, (table) => ({\n agentIdIdx: index(\"idx_detection_results_agent_id\").on(table.agentId),\n createdAtIdx: index(\"idx_detection_results_created_at\").on(table.createdAt),\n tenantIdIdx: index(\"idx_detection_results_tenant_id\").on(table.tenantId),\n scanTypeIdx: index(\"idx_detection_results_scan_type\").on(table.scanType),\n}));\n// ─── Tool Call Observations ─────────────────────────────────────\nexport const toolCallObservations = pgTable(\"tool_call_observations\", {\n id: uuid(\"id\").primaryKey().defaultRandom(),\n tenantId: varchar(\"tenant_id\", { length: 64 }).notNull().default(\"default\"),\n agentId: uuid(\"agent_id\").notNull(),\n sessionKey: varchar(\"session_key\", { length: 255 }),\n toolName: varchar(\"tool_name\", { length: 255 }).notNull(),\n category: varchar(\"category\", { length: 64 }),\n accessPattern: varchar(\"access_pattern\", { length: 32 }),\n paramsJson: jsonb(\"params_json\"),\n phase: varchar(\"phase\", { length: 16 }).notNull(),\n resultJson: jsonb(\"result_json\"),\n error: text(\"error\"),\n durationMs: integer(\"duration_ms\"),\n blocked: boolean(\"blocked\").notNull().default(false),\n blockReason: text(\"block_reason\"),\n timestamp: timestamp(\"timestamp\", { withTimezone: true }).notNull().defaultNow(),\n}, (table) => ({\n agentIdIdx: index(\"idx_tool_obs_agent_id\").on(table.agentId),\n toolNameIdx: index(\"idx_tool_obs_tool_name\").on(table.toolName),\n timestampIdx: index(\"idx_tool_obs_timestamp\").on(table.timestamp),\n tenantIdIdx: index(\"idx_tool_obs_tenant_id\").on(table.tenantId),\n}));\n// ─── Gateway Activity ─────────────────────────────────────────\n// Records of gateway sanitization and restoration events\nexport const gatewayActivity = pgTable(\"gateway_activity\", {\n id: uuid(\"id\").primaryKey().defaultRandom(),\n tenantId: varchar(\"tenant_id\", { length: 64 }).notNull().default(\"default\"),\n eventId: varchar(\"event_id\", { length: 128 }).notNull(), // From gateway: gw-timestamp-counter-type\n requestId: varchar(\"request_id\", { length: 64 }).notNull(), // gw-timestamp-counter\n timestamp: timestamp(\"timestamp\", { withTimezone: true }).notNull(),\n type: varchar(\"type\", { length: 16 }).notNull(), // \"sanitize\" or \"restore\"\n direction: varchar(\"direction\", { length: 16 }).notNull(), // \"request\" or \"response\"\n backend: varchar(\"backend\", { length: 32 }).notNull(), // \"openai\", \"anthropic\", \"gemini\"\n endpoint: varchar(\"endpoint\", { length: 255 }).notNull(), // e.g., \"/v1/chat/completions\"\n model: varchar(\"model\", { length: 128 }),\n redactionCount: integer(\"redaction_count\").notNull().default(0),\n categories: jsonb(\"categories\").notNull().default({}), // { email: 2, secret: 1 }\n durationMs: integer(\"duration_ms\"),\n createdAt: timestamp(\"created_at\", { withTimezone: true }).notNull().defaultNow(),\n}, (table) => ({\n requestIdIdx: index(\"idx_gateway_activity_request_id\").on(table.requestId),\n timestampIdx: index(\"idx_gateway_activity_timestamp\").on(table.timestamp),\n typeIdx: index(\"idx_gateway_activity_type\").on(table.type),\n tenantIdIdx: index(\"idx_gateway_activity_tenant_id\").on(table.tenantId),\n}));\n// ─── Agent Permissions ────────────────────────────────────────\nexport const agentPermissions = pgTable(\"agent_permissions\", {\n id: uuid(\"id\").primaryKey().defaultRandom(),\n tenantId: varchar(\"tenant_id\", { length: 64 }).notNull().default(\"default\"),\n agentId: uuid(\"agent_id\").notNull(),\n toolName: varchar(\"tool_name\", { length: 255 }).notNull(),\n category: varchar(\"category\", { length: 64 }),\n accessPattern: varchar(\"access_pattern\", { length: 32 }),\n targetsJson: jsonb(\"targets_json\").notNull().default([]),\n callCount: integer(\"call_count\").notNull().default(0),\n errorCount: integer(\"error_count\").notNull().default(0),\n firstSeen: timestamp(\"first_seen\", { withTimezone: true }).notNull().defaultNow(),\n lastSeen: timestamp(\"last_seen\", { withTimezone: true }).notNull().defaultNow(),\n}, (table) => ({\n agentIdIdx: index(\"idx_agent_perms_agent_id\").on(table.agentId),\n toolNameIdx: index(\"idx_agent_perms_tool_name\").on(table.toolName),\n tenantIdIdx: index(\"idx_agent_perms_tenant_id\").on(table.tenantId),\n uniqueAgentTool: index(\"idx_agent_perms_unique\").on(table.tenantId, table.agentId, table.toolName),\n}));\n// ─── Magic Links ─────────────────────────────────────────────\nexport const magicLinks = pgTable(\"magic_links\", {\n id: uuid(\"id\").primaryKey().defaultRandom(),\n email: varchar(\"email\", { length: 255 }).notNull(),\n token: text(\"token\").notNull().unique(),\n expiresAt: timestamp(\"expires_at\", { withTimezone: true }).notNull(),\n usedAt: timestamp(\"used_at\", { withTimezone: true }),\n createdAt: timestamp(\"created_at\", { withTimezone: true }).notNull().defaultNow(),\n}, (table) => ({\n tokenIdx: index(\"idx_magic_links_token\").on(table.token),\n emailIdx: index(\"idx_magic_links_email\").on(table.email),\n}));\n// ─── User Sessions ────────────────────────────────────────────\nexport const userSessions = pgTable(\"user_sessions\", {\n id: uuid(\"id\").primaryKey().defaultRandom(),\n email: varchar(\"email\", { length: 255 }).notNull(),\n token: text(\"token\").notNull().unique(),\n expiresAt: timestamp(\"expires_at\", { withTimezone: true }).notNull(),\n createdAt: timestamp(\"created_at\", { withTimezone: true }).notNull().defaultNow(),\n}, (table) => ({\n tokenIdx: index(\"idx_user_sessions_token\").on(table.token),\n emailIdx: index(\"idx_user_sessions_email\").on(table.email),\n}));\n// ─── Agentic Hours ──────────────────────────────────────────────\n// Daily aggregated duration metrics per agent\nexport const agenticHoursLocal = pgTable(\"agentic_hours_local\", {\n id: uuid(\"id\").primaryKey().defaultRandom(),\n tenantId: varchar(\"tenant_id\", { length: 64 }).notNull().default(\"default\"),\n agentId: uuid(\"agent_id\").notNull(),\n date: varchar(\"date\", { length: 10 }).notNull(), // YYYY-MM-DD\n toolCallDurationMs: integer(\"tool_call_duration_ms\").notNull().default(0),\n llmDurationMs: integer(\"llm_duration_ms\").notNull().default(0),\n totalDurationMs: integer(\"total_duration_ms\").notNull().default(0),\n toolCallCount: integer(\"tool_call_count\").notNull().default(0),\n llmCallCount: integer(\"llm_call_count\").notNull().default(0),\n sessionCount: integer(\"session_count\").notNull().default(0),\n blockCount: integer(\"block_count\").notNull().default(0),\n riskEventCount: integer(\"risk_event_count\").notNull().default(0),\n createdAt: timestamp(\"created_at\", { withTimezone: true }).notNull().defaultNow(),\n updatedAt: timestamp(\"updated_at\", { withTimezone: true }).notNull().defaultNow(),\n}, (table) => ({\n agentDateIdx: index(\"idx_agentic_hours_agent_date\").on(table.tenantId, table.agentId, table.date),\n tenantDateIdx: index(\"idx_agentic_hours_tenant_date\").on(table.tenantId, table.date),\n}));\n//# sourceMappingURL=pg.js.map"],"names":[],"sourceRoot":""}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
CREATE TABLE `agents` (
|
|
2
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
3
|
+
`name` text NOT NULL,
|
|
4
|
+
`description` text,
|
|
5
|
+
`provider` text DEFAULT 'custom' NOT NULL,
|
|
6
|
+
`status` text DEFAULT 'inactive' NOT NULL,
|
|
7
|
+
`last_seen_at` text,
|
|
8
|
+
`metadata` text DEFAULT '{}' NOT NULL,
|
|
9
|
+
`created_at` text NOT NULL,
|
|
10
|
+
`updated_at` text NOT NULL
|
|
11
|
+
);
|
|
12
|
+
--> statement-breakpoint
|
|
13
|
+
CREATE INDEX `idx_agents_status` ON `agents` (`status`);--> statement-breakpoint
|
|
14
|
+
CREATE TABLE `detection_results` (
|
|
15
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
16
|
+
`agent_id` text,
|
|
17
|
+
`safe` integer NOT NULL,
|
|
18
|
+
`categories` text DEFAULT '[]' NOT NULL,
|
|
19
|
+
`sensitivity_score` real DEFAULT 0 NOT NULL,
|
|
20
|
+
`findings` text DEFAULT '[]' NOT NULL,
|
|
21
|
+
`latency_ms` integer NOT NULL,
|
|
22
|
+
`request_id` text NOT NULL,
|
|
23
|
+
`created_at` text NOT NULL
|
|
24
|
+
);
|
|
25
|
+
--> statement-breakpoint
|
|
26
|
+
CREATE INDEX `idx_detection_results_agent_id` ON `detection_results` (`agent_id`);--> statement-breakpoint
|
|
27
|
+
CREATE INDEX `idx_detection_results_created_at` ON `detection_results` (`created_at`);--> statement-breakpoint
|
|
28
|
+
CREATE TABLE `policies` (
|
|
29
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
30
|
+
`name` text NOT NULL,
|
|
31
|
+
`description` text,
|
|
32
|
+
`scanner_ids` text DEFAULT '[]' NOT NULL,
|
|
33
|
+
`action` text DEFAULT 'log' NOT NULL,
|
|
34
|
+
`sensitivity_threshold` real DEFAULT 0.5 NOT NULL,
|
|
35
|
+
`is_enabled` integer DEFAULT true NOT NULL,
|
|
36
|
+
`created_at` text NOT NULL,
|
|
37
|
+
`updated_at` text NOT NULL
|
|
38
|
+
);
|
|
39
|
+
--> statement-breakpoint
|
|
40
|
+
CREATE TABLE `scanner_definitions` (
|
|
41
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
42
|
+
`scanner_id` text NOT NULL,
|
|
43
|
+
`name` text NOT NULL,
|
|
44
|
+
`description` text NOT NULL,
|
|
45
|
+
`config` text DEFAULT '{}' NOT NULL,
|
|
46
|
+
`is_enabled` integer DEFAULT true NOT NULL,
|
|
47
|
+
`is_default` integer DEFAULT false NOT NULL
|
|
48
|
+
);
|
|
49
|
+
--> statement-breakpoint
|
|
50
|
+
CREATE INDEX `idx_scanner_defs_scanner_id` ON `scanner_definitions` (`scanner_id`);--> statement-breakpoint
|
|
51
|
+
CREATE TABLE `settings` (
|
|
52
|
+
`key` text PRIMARY KEY NOT NULL,
|
|
53
|
+
`value` text NOT NULL,
|
|
54
|
+
`updated_at` text NOT NULL
|
|
55
|
+
);
|
|
56
|
+
--> statement-breakpoint
|
|
57
|
+
CREATE TABLE `usage_logs` (
|
|
58
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
59
|
+
`agent_id` text,
|
|
60
|
+
`endpoint` text NOT NULL,
|
|
61
|
+
`status_code` integer NOT NULL,
|
|
62
|
+
`response_safe` integer,
|
|
63
|
+
`categories` text DEFAULT '[]' NOT NULL,
|
|
64
|
+
`latency_ms` integer NOT NULL,
|
|
65
|
+
`request_id` text NOT NULL,
|
|
66
|
+
`created_at` text NOT NULL
|
|
67
|
+
);
|
|
68
|
+
--> statement-breakpoint
|
|
69
|
+
CREATE INDEX `idx_usage_logs_agent_id` ON `usage_logs` (`agent_id`);--> statement-breakpoint
|
|
70
|
+
CREATE INDEX `idx_usage_logs_created_at` ON `usage_logs` (`created_at`);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
ALTER TABLE `agents` ADD `tenant_id` text DEFAULT 'default' NOT NULL;--> statement-breakpoint
|
|
2
|
+
CREATE INDEX `idx_agents_tenant_id` ON `agents` (`tenant_id`);--> statement-breakpoint
|
|
3
|
+
ALTER TABLE `detection_results` ADD `tenant_id` text DEFAULT 'default' NOT NULL;--> statement-breakpoint
|
|
4
|
+
CREATE INDEX `idx_detection_results_tenant_id` ON `detection_results` (`tenant_id`);--> statement-breakpoint
|
|
5
|
+
ALTER TABLE `policies` ADD `tenant_id` text DEFAULT 'default' NOT NULL;--> statement-breakpoint
|
|
6
|
+
CREATE INDEX `idx_policies_tenant_id` ON `policies` (`tenant_id`);--> statement-breakpoint
|
|
7
|
+
ALTER TABLE `scanner_definitions` ADD `tenant_id` text DEFAULT 'default' NOT NULL;--> statement-breakpoint
|
|
8
|
+
CREATE INDEX `idx_scanner_defs_tenant_id` ON `scanner_definitions` (`tenant_id`);--> statement-breakpoint
|
|
9
|
+
ALTER TABLE `usage_logs` ADD `tenant_id` text DEFAULT 'default' NOT NULL;--> statement-breakpoint
|
|
10
|
+
CREATE INDEX `idx_usage_logs_tenant_id` ON `usage_logs` (`tenant_id`);
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
CREATE TABLE `tool_call_observations` (
|
|
2
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
3
|
+
`tenant_id` text DEFAULT 'default' NOT NULL,
|
|
4
|
+
`agent_id` text NOT NULL,
|
|
5
|
+
`session_key` text,
|
|
6
|
+
`tool_name` text NOT NULL,
|
|
7
|
+
`category` text,
|
|
8
|
+
`access_pattern` text,
|
|
9
|
+
`params_json` text,
|
|
10
|
+
`phase` text NOT NULL,
|
|
11
|
+
`result_json` text,
|
|
12
|
+
`error` text,
|
|
13
|
+
`duration_ms` integer,
|
|
14
|
+
`blocked` integer DEFAULT false NOT NULL,
|
|
15
|
+
`block_reason` text,
|
|
16
|
+
`timestamp` text NOT NULL
|
|
17
|
+
);--> statement-breakpoint
|
|
18
|
+
CREATE INDEX `idx_tool_obs_agent_id` ON `tool_call_observations` (`agent_id`);--> statement-breakpoint
|
|
19
|
+
CREATE INDEX `idx_tool_obs_tool_name` ON `tool_call_observations` (`tool_name`);--> statement-breakpoint
|
|
20
|
+
CREATE INDEX `idx_tool_obs_timestamp` ON `tool_call_observations` (`timestamp`);--> statement-breakpoint
|
|
21
|
+
CREATE INDEX `idx_tool_obs_tenant_id` ON `tool_call_observations` (`tenant_id`);--> statement-breakpoint
|
|
22
|
+
CREATE TABLE `agent_permissions` (
|
|
23
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
24
|
+
`tenant_id` text DEFAULT 'default' NOT NULL,
|
|
25
|
+
`agent_id` text NOT NULL,
|
|
26
|
+
`tool_name` text NOT NULL,
|
|
27
|
+
`category` text,
|
|
28
|
+
`access_pattern` text,
|
|
29
|
+
`targets_json` text DEFAULT '[]' NOT NULL,
|
|
30
|
+
`call_count` integer DEFAULT 0 NOT NULL,
|
|
31
|
+
`error_count` integer DEFAULT 0 NOT NULL,
|
|
32
|
+
`first_seen` text NOT NULL,
|
|
33
|
+
`last_seen` text NOT NULL
|
|
34
|
+
);--> statement-breakpoint
|
|
35
|
+
CREATE INDEX `idx_agent_perms_agent_id` ON `agent_permissions` (`agent_id`);--> statement-breakpoint
|
|
36
|
+
CREATE INDEX `idx_agent_perms_tool_name` ON `agent_permissions` (`tool_name`);--> statement-breakpoint
|
|
37
|
+
CREATE INDEX `idx_agent_perms_tenant_id` ON `agent_permissions` (`tenant_id`);--> statement-breakpoint
|
|
38
|
+
CREATE INDEX `idx_agent_perms_unique` ON `agent_permissions` (`tenant_id`, `agent_id`, `tool_name`);
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
CREATE TABLE `magic_links` (
|
|
2
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
3
|
+
`email` text NOT NULL,
|
|
4
|
+
`token` text NOT NULL,
|
|
5
|
+
`expires_at` text NOT NULL,
|
|
6
|
+
`used_at` text,
|
|
7
|
+
`created_at` text NOT NULL
|
|
8
|
+
);
|
|
9
|
+
--> statement-breakpoint
|
|
10
|
+
CREATE UNIQUE INDEX `magic_links_token_unique` ON `magic_links` (`token`);
|
|
11
|
+
--> statement-breakpoint
|
|
12
|
+
CREATE INDEX `idx_magic_links_token` ON `magic_links` (`token`);
|
|
13
|
+
--> statement-breakpoint
|
|
14
|
+
CREATE INDEX `idx_magic_links_email` ON `magic_links` (`email`);
|
|
15
|
+
--> statement-breakpoint
|
|
16
|
+
CREATE TABLE `user_sessions` (
|
|
17
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
18
|
+
`email` text NOT NULL,
|
|
19
|
+
`token` text NOT NULL,
|
|
20
|
+
`expires_at` text NOT NULL,
|
|
21
|
+
`created_at` text NOT NULL
|
|
22
|
+
);
|
|
23
|
+
--> statement-breakpoint
|
|
24
|
+
CREATE UNIQUE INDEX `user_sessions_token_unique` ON `user_sessions` (`token`);
|
|
25
|
+
--> statement-breakpoint
|
|
26
|
+
CREATE INDEX `idx_user_sessions_token` ON `user_sessions` (`token`);
|
|
27
|
+
--> statement-breakpoint
|
|
28
|
+
CREATE INDEX `idx_user_sessions_email` ON `user_sessions` (`email`);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
-- Add static scan fields to detection_results table
|
|
2
|
+
ALTER TABLE `detection_results` ADD `scan_type` text DEFAULT 'dynamic' NOT NULL;
|
|
3
|
+
--> statement-breakpoint
|
|
4
|
+
ALTER TABLE `detection_results` ADD `file_path` text;
|
|
5
|
+
--> statement-breakpoint
|
|
6
|
+
ALTER TABLE `detection_results` ADD `file_type` text;
|
|
7
|
+
--> statement-breakpoint
|
|
8
|
+
CREATE INDEX `idx_detection_results_scan_type` ON `detection_results` (`scan_type`);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
-- Gateway Activity Table
|
|
2
|
+
-- Records of gateway sanitization and restoration events
|
|
3
|
+
|
|
4
|
+
CREATE TABLE IF NOT EXISTS `gateway_activity` (
|
|
5
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
6
|
+
`tenant_id` text NOT NULL DEFAULT 'default',
|
|
7
|
+
`event_id` text NOT NULL,
|
|
8
|
+
`request_id` text NOT NULL,
|
|
9
|
+
`timestamp` text NOT NULL,
|
|
10
|
+
`type` text NOT NULL,
|
|
11
|
+
`direction` text NOT NULL,
|
|
12
|
+
`backend` text NOT NULL,
|
|
13
|
+
`endpoint` text NOT NULL,
|
|
14
|
+
`model` text,
|
|
15
|
+
`redaction_count` integer NOT NULL DEFAULT 0,
|
|
16
|
+
`categories` text DEFAULT '{}' NOT NULL,
|
|
17
|
+
`duration_ms` integer,
|
|
18
|
+
`created_at` text NOT NULL
|
|
19
|
+
);
|
|
20
|
+
|
|
21
|
+
CREATE INDEX IF NOT EXISTS `idx_gateway_activity_request_id` ON `gateway_activity` (`request_id`);
|
|
22
|
+
CREATE INDEX IF NOT EXISTS `idx_gateway_activity_timestamp` ON `gateway_activity` (`timestamp`);
|
|
23
|
+
CREATE INDEX IF NOT EXISTS `idx_gateway_activity_type` ON `gateway_activity` (`type`);
|
|
24
|
+
CREATE INDEX IF NOT EXISTS `idx_gateway_activity_tenant_id` ON `gateway_activity` (`tenant_id`);
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS `agentic_hours_local` (
|
|
2
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
3
|
+
`tenant_id` text DEFAULT 'default' NOT NULL,
|
|
4
|
+
`agent_id` text NOT NULL,
|
|
5
|
+
`date` text NOT NULL,
|
|
6
|
+
`tool_call_duration_ms` integer DEFAULT 0 NOT NULL,
|
|
7
|
+
`llm_duration_ms` integer DEFAULT 0 NOT NULL,
|
|
8
|
+
`total_duration_ms` integer DEFAULT 0 NOT NULL,
|
|
9
|
+
`tool_call_count` integer DEFAULT 0 NOT NULL,
|
|
10
|
+
`llm_call_count` integer DEFAULT 0 NOT NULL,
|
|
11
|
+
`session_count` integer DEFAULT 0 NOT NULL,
|
|
12
|
+
`block_count` integer DEFAULT 0 NOT NULL,
|
|
13
|
+
`risk_event_count` integer DEFAULT 0 NOT NULL,
|
|
14
|
+
`created_at` text NOT NULL,
|
|
15
|
+
`updated_at` text NOT NULL
|
|
16
|
+
);
|
|
17
|
+
--> statement-breakpoint
|
|
18
|
+
CREATE INDEX IF NOT EXISTS `idx_agentic_hours_agent_date` ON `agentic_hours_local` (`tenant_id`,`agent_id`,`date`);--> statement-breakpoint
|
|
19
|
+
CREATE INDEX IF NOT EXISTS `idx_agentic_hours_tenant_date` ON `agentic_hours_local` (`tenant_id`,`date`);--> statement-breakpoint
|
|
20
|
+
CREATE TABLE IF NOT EXISTS `tool_call_observations` (
|
|
21
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
22
|
+
`tenant_id` text DEFAULT 'default' NOT NULL,
|
|
23
|
+
`agent_id` text NOT NULL,
|
|
24
|
+
`session_key` text,
|
|
25
|
+
`tool_name` text NOT NULL,
|
|
26
|
+
`category` text,
|
|
27
|
+
`access_pattern` text,
|
|
28
|
+
`params_json` text,
|
|
29
|
+
`phase` text NOT NULL,
|
|
30
|
+
`result_json` text,
|
|
31
|
+
`error` text,
|
|
32
|
+
`duration_ms` integer,
|
|
33
|
+
`blocked` integer DEFAULT false NOT NULL,
|
|
34
|
+
`block_reason` text,
|
|
35
|
+
`timestamp` text NOT NULL
|
|
36
|
+
);
|
|
37
|
+
--> statement-breakpoint
|
|
38
|
+
CREATE INDEX IF NOT EXISTS `idx_tool_obs_agent_id` ON `tool_call_observations` (`agent_id`);--> statement-breakpoint
|
|
39
|
+
CREATE INDEX IF NOT EXISTS `idx_tool_obs_tool_name` ON `tool_call_observations` (`tool_name`);--> statement-breakpoint
|
|
40
|
+
CREATE INDEX IF NOT EXISTS `idx_tool_obs_timestamp` ON `tool_call_observations` (`timestamp`);--> statement-breakpoint
|
|
41
|
+
CREATE INDEX IF NOT EXISTS `idx_tool_obs_tenant_id` ON `tool_call_observations` (`tenant_id`);
|