shieldcortex 2.4.10 → 2.4.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.
Files changed (63) hide show
  1. package/dashboard/.next/standalone/dashboard/.next/BUILD_ID +1 -1
  2. package/dashboard/.next/standalone/dashboard/.next/build-manifest.json +2 -2
  3. package/dashboard/.next/standalone/dashboard/.next/prerender-manifest.json +3 -3
  4. package/dashboard/.next/standalone/dashboard/.next/required-server-files.json +4 -4
  5. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.html +2 -2
  6. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.rsc +1 -1
  7. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.html +1 -1
  13. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.rsc +1 -1
  14. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  15. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  16. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  17. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  18. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  19. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  20. package/dashboard/.next/standalone/dashboard/.next/server/app/index.html +1 -1
  21. package/dashboard/.next/standalone/dashboard/.next/server/app/index.rsc +1 -1
  22. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  23. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_full.segment.rsc +1 -1
  24. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_head.segment.rsc +1 -1
  25. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_index.segment.rsc +1 -1
  26. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  27. package/dashboard/.next/standalone/dashboard/.next/server/pages/404.html +1 -1
  28. package/dashboard/.next/standalone/dashboard/.next/server/pages/500.html +2 -2
  29. package/dashboard/.next/standalone/dashboard/.next/server/server-reference-manifest.js +1 -1
  30. package/dashboard/.next/standalone/dashboard/.next/server/server-reference-manifest.json +1 -1
  31. package/dashboard/.next/standalone/dashboard/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/README.md +2 -2
  32. package/dashboard/.next/standalone/dashboard/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/lib/glib-2.0/include/glibconfig.h +9 -8
  33. package/dashboard/.next/standalone/dashboard/node_modules/@img/{sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib → sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3} +0 -0
  34. package/dashboard/.next/standalone/dashboard/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/package.json +11 -5
  35. package/dashboard/.next/standalone/dashboard/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
  36. package/dashboard/.next/standalone/dashboard/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  37. package/dashboard/.next/standalone/dashboard/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
  38. package/dashboard/.next/standalone/dashboard/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  39. package/dashboard/.next/standalone/dashboard/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
  40. package/dashboard/.next/standalone/dashboard/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
  41. package/dashboard/.next/standalone/dashboard/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  42. package/dashboard/.next/standalone/dashboard/node_modules/@img/{sharp-darwin-arm64 → sharp-linux-x64}/package.json +13 -7
  43. package/dashboard/.next/standalone/dashboard/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  44. package/dashboard/.next/standalone/dashboard/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
  45. package/dashboard/.next/standalone/dashboard/server.js +1 -1
  46. package/dashboard/.next/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/package.json +11 -5
  47. package/dashboard/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
  48. package/dashboard/.next/standalone/node_modules/@img/{sharp-darwin-arm64 → sharp-linux-x64}/package.json +13 -7
  49. package/dashboard/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
  50. package/dist/index.js +0 -0
  51. package/hooks/openclaw/cortex-memory/HOOK.md +30 -2
  52. package/hooks/openclaw/cortex-memory/handler.js +110 -24
  53. package/package.json +1 -1
  54. package/dashboard/.next/standalone/dashboard/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
  55. package/dist/setup/clawdbot.d.ts +0 -15
  56. package/dist/setup/clawdbot.d.ts.map +0 -1
  57. package/dist/setup/clawdbot.js +0 -118
  58. package/dist/setup/clawdbot.js.map +0 -1
  59. /package/dashboard/.next/standalone/dashboard/.next/static/{iswq9TJJVHZDUWYSMMM-2 → j3yGjZ6Ts_LmQ9u4uPtD1}/_buildManifest.js +0 -0
  60. /package/dashboard/.next/standalone/dashboard/.next/static/{iswq9TJJVHZDUWYSMMM-2 → j3yGjZ6Ts_LmQ9u4uPtD1}/_clientMiddlewareManifest.json +0 -0
  61. /package/dashboard/.next/standalone/dashboard/.next/static/{iswq9TJJVHZDUWYSMMM-2 → j3yGjZ6Ts_LmQ9u4uPtD1}/_ssgManifest.js +0 -0
  62. /package/dashboard/.next/standalone/dashboard/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/lib/index.js +0 -0
  63. /package/dashboard/.next/standalone/dashboard/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/versions.json +0 -0
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@img/sharp-libvips-linuxmusl-x64",
3
+ "version": "1.2.4",
4
+ "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) x64",
5
+ "author": "Lovell Fuller <npm@lovell.info>",
6
+ "homepage": "https://sharp.pixelplumbing.com",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/lovell/sharp-libvips.git",
10
+ "directory": "npm/linuxmusl-x64"
11
+ },
12
+ "license": "LGPL-3.0-or-later",
13
+ "funding": {
14
+ "url": "https://opencollective.com/libvips"
15
+ },
16
+ "preferUnplugged": true,
17
+ "publishConfig": {
18
+ "access": "public"
19
+ },
20
+ "files": [
21
+ "lib",
22
+ "versions.json"
23
+ ],
24
+ "type": "commonjs",
25
+ "exports": {
26
+ "./lib": "./lib/index.js",
27
+ "./package": "./package.json",
28
+ "./versions": "./versions.json"
29
+ },
30
+ "config": {
31
+ "musl": ">=1.2.2"
32
+ },
33
+ "os": [
34
+ "linux"
35
+ ],
36
+ "libc": [
37
+ "musl"
38
+ ],
39
+ "cpu": [
40
+ "x64"
41
+ ]
42
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "aom": "3.13.1",
3
+ "archive": "3.8.2",
4
+ "cairo": "1.18.4",
5
+ "cgif": "0.5.0",
6
+ "exif": "0.6.25",
7
+ "expat": "2.7.3",
8
+ "ffi": "3.5.2",
9
+ "fontconfig": "2.17.1",
10
+ "freetype": "2.14.1",
11
+ "fribidi": "1.0.16",
12
+ "glib": "2.86.1",
13
+ "harfbuzz": "12.1.0",
14
+ "heif": "1.20.2",
15
+ "highway": "1.3.0",
16
+ "imagequant": "2.4.1",
17
+ "lcms": "2.17",
18
+ "mozjpeg": "0826579",
19
+ "pango": "1.57.0",
20
+ "pixman": "0.46.4",
21
+ "png": "1.6.50",
22
+ "proxy-libintl": "0.5",
23
+ "rsvg": "2.61.2",
24
+ "spng": "0.7.4",
25
+ "tiff": "4.7.1",
26
+ "vips": "8.17.3",
27
+ "webp": "1.6.0",
28
+ "xml2": "2.15.1",
29
+ "zlib-ng": "2.2.5"
30
+ }
@@ -1,13 +1,13 @@
1
1
  {
2
- "name": "@img/sharp-darwin-arm64",
2
+ "name": "@img/sharp-linux-x64",
3
3
  "version": "0.34.5",
4
- "description": "Prebuilt sharp for use with macOS 64-bit ARM",
4
+ "description": "Prebuilt sharp for use with Linux (glibc) x64",
5
5
  "author": "Lovell Fuller <npm@lovell.info>",
6
6
  "homepage": "https://sharp.pixelplumbing.com",
7
7
  "repository": {
8
8
  "type": "git",
9
9
  "url": "git+https://github.com/lovell/sharp.git",
10
- "directory": "npm/darwin-arm64"
10
+ "directory": "npm/linux-x64"
11
11
  },
12
12
  "license": "Apache-2.0",
13
13
  "funding": {
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "preferUnplugged": true,
17
17
  "optionalDependencies": {
18
- "@img/sharp-libvips-darwin-arm64": "1.2.4"
18
+ "@img/sharp-libvips-linux-x64": "1.2.4"
19
19
  },
20
20
  "files": [
21
21
  "lib"
@@ -25,16 +25,22 @@
25
25
  },
26
26
  "type": "commonjs",
27
27
  "exports": {
28
- "./sharp.node": "./lib/sharp-darwin-arm64.node",
28
+ "./sharp.node": "./lib/sharp-linux-x64.node",
29
29
  "./package": "./package.json"
30
30
  },
31
31
  "engines": {
32
32
  "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
33
33
  },
34
+ "config": {
35
+ "glibc": ">=2.26"
36
+ },
34
37
  "os": [
35
- "darwin"
38
+ "linux"
39
+ ],
40
+ "libc": [
41
+ "glibc"
36
42
  ],
37
43
  "cpu": [
38
- "arm64"
44
+ "x64"
39
45
  ]
40
46
  }
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "@img/sharp-linuxmusl-x64",
3
+ "version": "0.34.5",
4
+ "description": "Prebuilt sharp for use with Linux (musl) x64",
5
+ "author": "Lovell Fuller <npm@lovell.info>",
6
+ "homepage": "https://sharp.pixelplumbing.com",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/lovell/sharp.git",
10
+ "directory": "npm/linuxmusl-x64"
11
+ },
12
+ "license": "Apache-2.0",
13
+ "funding": {
14
+ "url": "https://opencollective.com/libvips"
15
+ },
16
+ "preferUnplugged": true,
17
+ "optionalDependencies": {
18
+ "@img/sharp-libvips-linuxmusl-x64": "1.2.4"
19
+ },
20
+ "files": [
21
+ "lib"
22
+ ],
23
+ "publishConfig": {
24
+ "access": "public"
25
+ },
26
+ "type": "commonjs",
27
+ "exports": {
28
+ "./sharp.node": "./lib/sharp-linuxmusl-x64.node",
29
+ "./package": "./package.json"
30
+ },
31
+ "engines": {
32
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
33
+ },
34
+ "config": {
35
+ "musl": ">=1.2.2"
36
+ },
37
+ "os": [
38
+ "linux"
39
+ ],
40
+ "libc": [
41
+ "musl"
42
+ ],
43
+ "cpu": [
44
+ "x64"
45
+ ]
46
+ }
@@ -9,7 +9,7 @@ const currentPort = parseInt(process.env.PORT, 10) || 3000
9
9
  const hostname = process.env.HOSTNAME || '0.0.0.0'
10
10
 
11
11
  let keepAliveTimeout = parseInt(process.env.KEEP_ALIVE_TIMEOUT, 10)
12
- const nextConfig = {"env":{},"webpack":null,"typescript":{"ignoreBuildErrors":false},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.ts","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/Users/michael/Development/ShieldCortex-Project/ShieldCortex","cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"experimental":{"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"dynamicOnHover":false,"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":9,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"imgOptSkipMetadata":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"viewTransition":false,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":false,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":false,"serverComponentsHmrCache":true,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"browserDebugInfoInTerminal":false,"lockDistDir":true,"isolatedDevBuild":true,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":false,"turbopackInferModuleSideEffects":false,"optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.ts","turbopack":{"root":"/Users/michael/Development/ShieldCortex-Project/ShieldCortex"},"distDirRoot":".next"}
12
+ const nextConfig = {"env":{},"webpack":null,"typescript":{"ignoreBuildErrors":false},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.ts","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/home/runner/work/ShieldCortex/ShieldCortex","cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"experimental":{"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"dynamicOnHover":false,"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":3,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"imgOptSkipMetadata":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"viewTransition":false,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":false,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":false,"serverComponentsHmrCache":true,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"browserDebugInfoInTerminal":false,"lockDistDir":true,"isolatedDevBuild":true,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":false,"turbopackInferModuleSideEffects":false,"optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.ts","turbopack":{"root":"/home/runner/work/ShieldCortex/ShieldCortex"},"distDirRoot":".next"}
13
13
 
14
14
  process.env.__NEXT_PRIVATE_STANDALONE_CONFIG = JSON.stringify(nextConfig)
15
15
 
@@ -1,13 +1,13 @@
1
1
  {
2
- "name": "@img/sharp-libvips-darwin-arm64",
2
+ "name": "@img/sharp-libvips-linux-x64",
3
3
  "version": "1.2.4",
4
- "description": "Prebuilt libvips and dependencies for use with sharp on macOS 64-bit ARM",
4
+ "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) x64",
5
5
  "author": "Lovell Fuller <npm@lovell.info>",
6
6
  "homepage": "https://sharp.pixelplumbing.com",
7
7
  "repository": {
8
8
  "type": "git",
9
9
  "url": "git+https://github.com/lovell/sharp-libvips.git",
10
- "directory": "npm/darwin-arm64"
10
+ "directory": "npm/linux-x64"
11
11
  },
12
12
  "license": "LGPL-3.0-or-later",
13
13
  "funding": {
@@ -27,10 +27,16 @@
27
27
  "./package": "./package.json",
28
28
  "./versions": "./versions.json"
29
29
  },
30
+ "config": {
31
+ "glibc": ">=2.26"
32
+ },
30
33
  "os": [
31
- "darwin"
34
+ "linux"
35
+ ],
36
+ "libc": [
37
+ "glibc"
32
38
  ],
33
39
  "cpu": [
34
- "arm64"
40
+ "x64"
35
41
  ]
36
42
  }
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@img/sharp-libvips-linuxmusl-x64",
3
+ "version": "1.2.4",
4
+ "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) x64",
5
+ "author": "Lovell Fuller <npm@lovell.info>",
6
+ "homepage": "https://sharp.pixelplumbing.com",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/lovell/sharp-libvips.git",
10
+ "directory": "npm/linuxmusl-x64"
11
+ },
12
+ "license": "LGPL-3.0-or-later",
13
+ "funding": {
14
+ "url": "https://opencollective.com/libvips"
15
+ },
16
+ "preferUnplugged": true,
17
+ "publishConfig": {
18
+ "access": "public"
19
+ },
20
+ "files": [
21
+ "lib",
22
+ "versions.json"
23
+ ],
24
+ "type": "commonjs",
25
+ "exports": {
26
+ "./lib": "./lib/index.js",
27
+ "./package": "./package.json",
28
+ "./versions": "./versions.json"
29
+ },
30
+ "config": {
31
+ "musl": ">=1.2.2"
32
+ },
33
+ "os": [
34
+ "linux"
35
+ ],
36
+ "libc": [
37
+ "musl"
38
+ ],
39
+ "cpu": [
40
+ "x64"
41
+ ]
42
+ }
@@ -1,13 +1,13 @@
1
1
  {
2
- "name": "@img/sharp-darwin-arm64",
2
+ "name": "@img/sharp-linux-x64",
3
3
  "version": "0.34.5",
4
- "description": "Prebuilt sharp for use with macOS 64-bit ARM",
4
+ "description": "Prebuilt sharp for use with Linux (glibc) x64",
5
5
  "author": "Lovell Fuller <npm@lovell.info>",
6
6
  "homepage": "https://sharp.pixelplumbing.com",
7
7
  "repository": {
8
8
  "type": "git",
9
9
  "url": "git+https://github.com/lovell/sharp.git",
10
- "directory": "npm/darwin-arm64"
10
+ "directory": "npm/linux-x64"
11
11
  },
12
12
  "license": "Apache-2.0",
13
13
  "funding": {
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "preferUnplugged": true,
17
17
  "optionalDependencies": {
18
- "@img/sharp-libvips-darwin-arm64": "1.2.4"
18
+ "@img/sharp-libvips-linux-x64": "1.2.4"
19
19
  },
20
20
  "files": [
21
21
  "lib"
@@ -25,16 +25,22 @@
25
25
  },
26
26
  "type": "commonjs",
27
27
  "exports": {
28
- "./sharp.node": "./lib/sharp-darwin-arm64.node",
28
+ "./sharp.node": "./lib/sharp-linux-x64.node",
29
29
  "./package": "./package.json"
30
30
  },
31
31
  "engines": {
32
32
  "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
33
33
  },
34
+ "config": {
35
+ "glibc": ">=2.26"
36
+ },
34
37
  "os": [
35
- "darwin"
38
+ "linux"
39
+ ],
40
+ "libc": [
41
+ "glibc"
36
42
  ],
37
43
  "cpu": [
38
- "arm64"
44
+ "x64"
39
45
  ]
40
46
  }
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "@img/sharp-linuxmusl-x64",
3
+ "version": "0.34.5",
4
+ "description": "Prebuilt sharp for use with Linux (musl) x64",
5
+ "author": "Lovell Fuller <npm@lovell.info>",
6
+ "homepage": "https://sharp.pixelplumbing.com",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/lovell/sharp.git",
10
+ "directory": "npm/linuxmusl-x64"
11
+ },
12
+ "license": "Apache-2.0",
13
+ "funding": {
14
+ "url": "https://opencollective.com/libvips"
15
+ },
16
+ "preferUnplugged": true,
17
+ "optionalDependencies": {
18
+ "@img/sharp-libvips-linuxmusl-x64": "1.2.4"
19
+ },
20
+ "files": [
21
+ "lib"
22
+ ],
23
+ "publishConfig": {
24
+ "access": "public"
25
+ },
26
+ "type": "commonjs",
27
+ "exports": {
28
+ "./sharp.node": "./lib/sharp-linuxmusl-x64.node",
29
+ "./package": "./package.json"
30
+ },
31
+ "engines": {
32
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
33
+ },
34
+ "config": {
35
+ "musl": ">=1.2.2"
36
+ },
37
+ "os": [
38
+ "linux"
39
+ ],
40
+ "libc": [
41
+ "musl"
42
+ ],
43
+ "cpu": [
44
+ "x64"
45
+ ]
46
+ }
package/dist/index.js CHANGED
File without changes
@@ -37,8 +37,36 @@ Integrates [ShieldCortex](https://github.com/Drakon-Systems-Ltd/ShieldCortex) pe
37
37
  3. Agent starts with knowledge of past sessions
38
38
 
39
39
  ### Keyword Triggers
40
- - Say **"remember this"** or **"don't forget"** followed by content
41
- - Auto-saves to Cortex with critical importance
40
+
41
+ Say any of these phrases to trigger an instant save to Cortex memory:
42
+
43
+ | Trigger Phrase | Category | Importance |
44
+ |---------------|----------|------------|
45
+ | **"remember this"** | note | critical |
46
+ | **"don't forget"** | note | critical |
47
+ | **"this is important"** | note | critical |
48
+ | **"make a note"** | note | critical |
49
+ | **"for the record"** | note | critical |
50
+ | **"note to self"** | note | critical |
51
+ | **"important:"** | note | critical |
52
+ | **"crucial:"** | note | critical |
53
+ | **"key point:"** | note | high |
54
+ | **"lesson learned"** | learning | high |
55
+ | **"i learned"** | learning | normal |
56
+ | **"TIL:"** | learning | normal |
57
+ | **"today i learned"** | learning | normal |
58
+ | **"never again"** | error | critical |
59
+ | **"root cause was"** | error | high |
60
+ | **"the fix was"** | error | high |
61
+ | **"always do"** | preference | high |
62
+ | **"never do"** | preference | high |
63
+ | **"i prefer"** | preference | normal |
64
+ | **"we should always"** | preference | high |
65
+ | **"we decided"** | architecture | high |
66
+ | **"decision made"** | architecture | high |
67
+ | **"going with"** | architecture | normal |
68
+
69
+ Content after the trigger phrase is extracted and saved as the memory content.
42
70
 
43
71
  ## Requirements
44
72
 
@@ -256,48 +256,130 @@ async function onBootstrap(event) {
256
256
  }
257
257
 
258
258
  /**
259
- * Handle command events check for keyword triggers
259
+ * Keyword triggers with their categories and importance levels
260
+ * Order matters: more specific triggers should come first
260
261
  */
261
- async function onKeywordTrigger(event) {
262
- if (event.action === "new" || event.action === "stop" || event.action === "clear" || event.action === "exit") return;
263
-
264
- const context = event.context || {};
265
- const sessionEntry = context.sessionEntry || {};
266
- const lastMessage = context.lastUserMessage || sessionEntry.lastUserMessage;
267
- if (!lastMessage || typeof lastMessage !== "string") return;
268
-
269
- const lower = lastMessage.toLowerCase();
270
- const triggers = ["remember this", "don't forget", "dont forget"];
271
- const triggered = triggers.some((t) => lower.includes(t));
272
- if (!triggered) return;
262
+ const KEYWORD_TRIGGERS = [
263
+ // Learning triggers
264
+ { phrase: "lesson learned", category: "learning", importance: "high" },
265
+ { phrase: "i learned", category: "learning", importance: "normal" },
266
+ { phrase: "til:", category: "learning", importance: "normal" },
267
+ { phrase: "today i learned", category: "learning", importance: "normal" },
268
+
269
+ // Error/prevention triggers
270
+ { phrase: "never again", category: "error", importance: "critical" },
271
+ { phrase: "root cause was", category: "error", importance: "high" },
272
+ { phrase: "the fix was", category: "error", importance: "high" },
273
+
274
+ // Preference triggers
275
+ { phrase: "always do", category: "preference", importance: "high" },
276
+ { phrase: "never do", category: "preference", importance: "high" },
277
+ { phrase: "i prefer", category: "preference", importance: "normal" },
278
+ { phrase: "we should always", category: "preference", importance: "high" },
279
+
280
+ // Architecture/decision triggers
281
+ { phrase: "we decided", category: "architecture", importance: "high" },
282
+ { phrase: "decision made", category: "architecture", importance: "high" },
283
+ { phrase: "going with", category: "architecture", importance: "normal" },
284
+
285
+ // Explicit memory triggers (highest priority - always critical)
286
+ { phrase: "remember this", category: "note", importance: "critical" },
287
+ { phrase: "don't forget", category: "note", importance: "critical" },
288
+ { phrase: "dont forget", category: "note", importance: "critical" },
289
+ { phrase: "this is important", category: "note", importance: "critical" },
290
+ { phrase: "make a note", category: "note", importance: "critical" },
291
+ { phrase: "for the record", category: "note", importance: "critical" },
292
+ { phrase: "note to self", category: "note", importance: "critical" },
293
+ { phrase: "important:", category: "note", importance: "critical" },
294
+ { phrase: "key point:", category: "note", importance: "high" },
295
+ { phrase: "crucial:", category: "note", importance: "critical" },
296
+ ];
273
297
 
274
- let content = lastMessage;
275
- for (const t of triggers) {
276
- const idx = lower.indexOf(t);
298
+ /**
299
+ * Check message text for keyword triggers and save to memory
300
+ * @param {string} messageText - The user's message text
301
+ * @param {object} event - The event object for pushing response messages
302
+ * @returns {Promise<boolean>} Whether a memory was saved
303
+ */
304
+ async function checkAndSaveKeywordTrigger(messageText, event) {
305
+ if (!messageText || typeof messageText !== "string") return false;
306
+
307
+ const lower = messageText.toLowerCase();
308
+
309
+ // Find the first matching trigger
310
+ let matchedTrigger = null;
311
+ let matchIdx = -1;
312
+
313
+ for (const trigger of KEYWORD_TRIGGERS) {
314
+ const idx = lower.indexOf(trigger.phrase);
277
315
  if (idx !== -1) {
278
- content = lastMessage.slice(idx + t.length).replace(/^[:\s]+/, "").trim();
316
+ matchedTrigger = trigger;
317
+ matchIdx = idx;
279
318
  break;
280
319
  }
281
320
  }
282
-
283
- if (content.length < 5) return;
321
+
322
+ if (!matchedTrigger) return false;
323
+
324
+ // Extract content after the trigger phrase
325
+ let content = messageText.slice(matchIdx + matchedTrigger.phrase.length).replace(/^[:\s]+/, "").trim();
326
+
327
+ // If content is too short, use the whole message as context
328
+ if (content.length < 5) {
329
+ content = messageText;
330
+ }
284
331
 
285
332
  const title = content.slice(0, 80).replace(/["\n]/g, " ").trim();
286
333
 
287
334
  const result = await callCortex("remember", {
288
335
  title,
289
336
  content: content.slice(0, 500),
290
- category: "note",
337
+ category: matchedTrigger.category,
291
338
  project: "openclaw",
292
339
  scope: "global",
293
- importance: "critical",
294
- tags: "keyword-trigger,openclaw-hook",
340
+ importance: matchedTrigger.importance,
341
+ tags: `keyword-trigger,openclaw-hook,trigger:${matchedTrigger.phrase.replace(/\s+/g, "-")}`,
295
342
  });
296
343
 
297
344
  if (result) {
298
- event.messages.push(`Saved to Cortex memory: "${title}"`);
299
- console.log(`[cortex-memory] Keyword trigger saved: ${title}`);
345
+ if (event.messages) {
346
+ event.messages.push(`✅ Saved to Cortex memory (${matchedTrigger.category}): "${title}"`);
347
+ }
348
+ console.log(`[cortex-memory] Keyword trigger "${matchedTrigger.phrase}" saved: ${title}`);
349
+ return true;
350
+ }
351
+ return false;
352
+ }
353
+
354
+ /**
355
+ * Handle message events — check for keyword triggers in user messages
356
+ * This is the FIX: keyword triggers must work on message events, not just commands
357
+ */
358
+ async function onMessageKeywordTrigger(event) {
359
+ // Only process user messages
360
+ if (event.role !== "user") return;
361
+
362
+ // Get message content - handle both string and array formats
363
+ let messageText = event.content;
364
+ if (Array.isArray(messageText)) {
365
+ const textBlock = messageText.find((c) => c.type === "text");
366
+ messageText = textBlock?.text || "";
300
367
  }
368
+
369
+ await checkAndSaveKeywordTrigger(messageText, event);
370
+ }
371
+
372
+ /**
373
+ * Handle command events — check for keyword triggers (legacy/fallback)
374
+ */
375
+ async function onKeywordTrigger(event) {
376
+ if (event.action === "new" || event.action === "stop" || event.action === "clear" || event.action === "exit") return;
377
+
378
+ const context = event.context || {};
379
+ const sessionEntry = context.sessionEntry || {};
380
+ const lastMessage = context.lastUserMessage || sessionEntry.lastUserMessage;
381
+
382
+ await checkAndSaveKeywordTrigger(lastMessage, event);
301
383
  }
302
384
 
303
385
  // ==================== MAIN HANDLER ====================
@@ -313,7 +395,11 @@ const cortexMemoryHandler = async (event) => {
313
395
  await onSessionStop(event);
314
396
  } else if (event.type === "agent" && event.action === "bootstrap") {
315
397
  await onBootstrap(event);
398
+ } else if (event.type === "message") {
399
+ // FIX: Check for keyword triggers on message events (not just commands)
400
+ await onMessageKeywordTrigger(event);
316
401
  } else if (event.type === "command") {
402
+ // Fallback: also check commands for keyword triggers (legacy support)
317
403
  await onKeywordTrigger(event);
318
404
  }
319
405
  } catch (err) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shieldcortex",
3
- "version": "2.4.10",
3
+ "version": "2.4.12",
4
4
  "description": "Complete memory system + security layer for AI agents. Native OpenClaw integration. Persistent storage, semantic search, prompt injection firewall, credential protection, and audit trail. One package, full solution.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,15 +0,0 @@
1
- /**
2
- * OpenClaw/Clawdbot hook installer.
3
- *
4
- * Copies the cortex-memory hook into Clawdbot's bundled hooks directory.
5
- * Only works if OpenClaw is installed on the system.
6
- */
7
- /**
8
- * Find Clawdbot's bundled hooks directory by locating the binary
9
- */
10
- export declare function findClawdbotHooksDir(): string | null;
11
- export declare function installClawdbotHook(): Promise<void>;
12
- export declare function uninstallClawdbotHook(): Promise<void>;
13
- export declare function clawdbotHookStatus(): Promise<void>;
14
- export declare function handleClawdbotCommand(subcommand: string): Promise<void>;
15
- //# sourceMappingURL=clawdbot.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clawdbot.d.ts","sourceRoot":"","sources":["../../src/setup/clawdbot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CA8BpD;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgCzD;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiB3D;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAcxD;AAED,wBAAsB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAe7E"}