@agenticmail/enterprise 0.5.327 → 0.5.329
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/dist/agent-tools-F3CYENMK.js +13949 -0
- package/dist/browser-tool-P57PLVW2.js +4002 -0
- package/dist/chunk-3RI3AIJN.js +1519 -0
- package/dist/chunk-AD4DFKHR.js +4928 -0
- package/dist/chunk-UQXPVWXG.js +5101 -0
- package/dist/cli-agent-K6UFZRXC.js +2473 -0
- package/dist/cli-serve-4MT7RDEL.js +260 -0
- package/dist/cli.js +3 -3
- package/dist/dashboard/app.js +1 -1
- package/dist/dashboard/components/transport-encryption.js +0 -62
- package/dist/dashboard/pages/agent-detail/index.js +5 -2
- package/dist/dashboard/pages/agent-detail/manager.js +1 -1
- package/dist/dashboard/pages/agent-detail/overview.js +4 -2
- package/dist/dashboard/pages/agent-detail/tool-security.js +1 -1
- package/dist/dashboard/pages/domain-status.js +3 -6
- package/dist/dashboard/pages/memory-transfer.js +1 -1
- package/dist/dashboard/pages/messages.js +0 -1
- package/dist/dashboard/pages/roles.js +0 -2
- package/dist/dashboard/pages/workforce.js +0 -1
- package/dist/index.js +3 -3
- package/dist/runtime-L5ADJORP.js +45 -0
- package/dist/server-KSN56EZQ.js +28 -0
- package/dist/setup-UUNBBOQH.js +20 -0
- package/logs/cloudflared-error.log +42 -0
- package/logs/enterprise-out.log +6 -0
- package/package.json +1 -1
- package/src/admin/page-registry.ts +0 -290
- package/src/admin/routes.ts +0 -2968
- package/src/agent-tools/common.ts +0 -260
- package/src/agent-tools/index.ts +0 -542
- package/src/agent-tools/merge.ts +0 -62
- package/src/agent-tools/middleware.ts +0 -436
- package/src/agent-tools/schema/typebox.ts +0 -25
- package/src/agent-tools/security.ts +0 -352
- package/src/agent-tools/tool-resolver.ts +0 -1018
- package/src/agent-tools/tools/agenticmail.ts +0 -1017
- package/src/agent-tools/tools/bash.ts +0 -179
- package/src/agent-tools/tools/browser-tool.schema.ts +0 -112
- package/src/agent-tools/tools/browser-tool.ts +0 -388
- package/src/agent-tools/tools/browser.ts +0 -764
- package/src/agent-tools/tools/edit.ts +0 -100
- package/src/agent-tools/tools/enterprise-code-sandbox.ts +0 -395
- package/src/agent-tools/tools/enterprise-database.ts +0 -377
- package/src/agent-tools/tools/enterprise-diff.ts +0 -580
- package/src/agent-tools/tools/enterprise-documents.ts +0 -896
- package/src/agent-tools/tools/enterprise-http.ts +0 -485
- package/src/agent-tools/tools/enterprise-security-scan.ts +0 -528
- package/src/agent-tools/tools/enterprise-spreadsheet.ts +0 -825
- package/src/agent-tools/tools/glob.ts +0 -129
- package/src/agent-tools/tools/google/calendar.ts +0 -230
- package/src/agent-tools/tools/google/chat.ts +0 -725
- package/src/agent-tools/tools/google/contacts.ts +0 -209
- package/src/agent-tools/tools/google/docs.ts +0 -162
- package/src/agent-tools/tools/google/drive.ts +0 -392
- package/src/agent-tools/tools/google/forms.ts +0 -367
- package/src/agent-tools/tools/google/gmail.ts +0 -897
- package/src/agent-tools/tools/google/index.ts +0 -86
- package/src/agent-tools/tools/google/maps.ts +0 -543
- package/src/agent-tools/tools/google/meeting-voice.ts +0 -885
- package/src/agent-tools/tools/google/meetings.ts +0 -1094
- package/src/agent-tools/tools/google/sheets.ts +0 -215
- package/src/agent-tools/tools/google/slides.ts +0 -559
- package/src/agent-tools/tools/google/tasks.ts +0 -200
- package/src/agent-tools/tools/grep.ts +0 -178
- package/src/agent-tools/tools/integrations/_factory.ts +0 -102
- package/src/agent-tools/tools/integrations/activecampaign.ts +0 -14
- package/src/agent-tools/tools/integrations/adobe-sign.ts +0 -14
- package/src/agent-tools/tools/integrations/adp.ts +0 -14
- package/src/agent-tools/tools/integrations/airtable.ts +0 -14
- package/src/agent-tools/tools/integrations/apollo.ts +0 -14
- package/src/agent-tools/tools/integrations/asana.ts +0 -14
- package/src/agent-tools/tools/integrations/auth0.ts +0 -14
- package/src/agent-tools/tools/integrations/aws.ts +0 -14
- package/src/agent-tools/tools/integrations/azure-devops.ts +0 -14
- package/src/agent-tools/tools/integrations/bamboohr.ts +0 -14
- package/src/agent-tools/tools/integrations/basecamp.ts +0 -14
- package/src/agent-tools/tools/integrations/bigcommerce.ts +0 -14
- package/src/agent-tools/tools/integrations/bitbucket.ts +0 -14
- package/src/agent-tools/tools/integrations/box.ts +0 -14
- package/src/agent-tools/tools/integrations/brex.ts +0 -14
- package/src/agent-tools/tools/integrations/buffer.ts +0 -14
- package/src/agent-tools/tools/integrations/calendly.ts +0 -14
- package/src/agent-tools/tools/integrations/canva.ts +0 -14
- package/src/agent-tools/tools/integrations/chargebee.ts +0 -14
- package/src/agent-tools/tools/integrations/circleci.ts +0 -14
- package/src/agent-tools/tools/integrations/clickup.ts +0 -14
- package/src/agent-tools/tools/integrations/close.ts +0 -14
- package/src/agent-tools/tools/integrations/cloudflare.ts +0 -14
- package/src/agent-tools/tools/integrations/confluence.ts +0 -14
- package/src/agent-tools/tools/integrations/contentful.ts +0 -14
- package/src/agent-tools/tools/integrations/copper.ts +0 -14
- package/src/agent-tools/tools/integrations/crisp.ts +0 -14
- package/src/agent-tools/tools/integrations/crowdstrike.ts +0 -14
- package/src/agent-tools/tools/integrations/datadog.ts +0 -14
- package/src/agent-tools/tools/integrations/digitalocean.ts +0 -14
- package/src/agent-tools/tools/integrations/discord.ts +0 -14
- package/src/agent-tools/tools/integrations/docker.ts +0 -14
- package/src/agent-tools/tools/integrations/docusign.ts +0 -14
- package/src/agent-tools/tools/integrations/drift.ts +0 -14
- package/src/agent-tools/tools/integrations/dropbox.ts +0 -14
- package/src/agent-tools/tools/integrations/figma.ts +0 -14
- package/src/agent-tools/tools/integrations/firebase.ts +0 -14
- package/src/agent-tools/tools/integrations/flyio.ts +0 -14
- package/src/agent-tools/tools/integrations/freshbooks.ts +0 -14
- package/src/agent-tools/tools/integrations/freshdesk.ts +0 -14
- package/src/agent-tools/tools/integrations/freshsales.ts +0 -14
- package/src/agent-tools/tools/integrations/freshservice.ts +0 -14
- package/src/agent-tools/tools/integrations/front.ts +0 -14
- package/src/agent-tools/tools/integrations/github-actions.ts +0 -14
- package/src/agent-tools/tools/integrations/github.ts +0 -14
- package/src/agent-tools/tools/integrations/gitlab.ts +0 -14
- package/src/agent-tools/tools/integrations/gong.ts +0 -14
- package/src/agent-tools/tools/integrations/google-ads.ts +0 -14
- package/src/agent-tools/tools/integrations/google-analytics.ts +0 -14
- package/src/agent-tools/tools/integrations/google-cloud.ts +0 -14
- package/src/agent-tools/tools/integrations/gotomeeting.ts +0 -14
- package/src/agent-tools/tools/integrations/grafana.ts +0 -14
- package/src/agent-tools/tools/integrations/greenhouse.ts +0 -14
- package/src/agent-tools/tools/integrations/gusto.ts +0 -14
- package/src/agent-tools/tools/integrations/hashicorp-vault.ts +0 -14
- package/src/agent-tools/tools/integrations/heroku.ts +0 -14
- package/src/agent-tools/tools/integrations/hibob.ts +0 -14
- package/src/agent-tools/tools/integrations/hootsuite.ts +0 -14
- package/src/agent-tools/tools/integrations/hubspot.ts +0 -14
- package/src/agent-tools/tools/integrations/huggingface.ts +0 -14
- package/src/agent-tools/tools/integrations/index.ts +0 -474
- package/src/agent-tools/tools/integrations/intercom.ts +0 -14
- package/src/agent-tools/tools/integrations/jira.ts +0 -14
- package/src/agent-tools/tools/integrations/klaviyo.ts +0 -14
- package/src/agent-tools/tools/integrations/kubernetes.ts +0 -14
- package/src/agent-tools/tools/integrations/lattice.ts +0 -14
- package/src/agent-tools/tools/integrations/launchdarkly.ts +0 -14
- package/src/agent-tools/tools/integrations/lever.ts +0 -14
- package/src/agent-tools/tools/integrations/linear.ts +0 -14
- package/src/agent-tools/tools/integrations/linkedin.ts +0 -14
- package/src/agent-tools/tools/integrations/livechat.ts +0 -14
- package/src/agent-tools/tools/integrations/loom.ts +0 -14
- package/src/agent-tools/tools/integrations/mailchimp.ts +0 -14
- package/src/agent-tools/tools/integrations/mailgun.ts +0 -14
- package/src/agent-tools/tools/integrations/miro.ts +0 -14
- package/src/agent-tools/tools/integrations/mixpanel.ts +0 -14
- package/src/agent-tools/tools/integrations/monday.ts +0 -14
- package/src/agent-tools/tools/integrations/mongodb-atlas.ts +0 -14
- package/src/agent-tools/tools/integrations/neon.ts +0 -14
- package/src/agent-tools/tools/integrations/netlify.ts +0 -14
- package/src/agent-tools/tools/integrations/netsuite.ts +0 -14
- package/src/agent-tools/tools/integrations/newrelic.ts +0 -14
- package/src/agent-tools/tools/integrations/notion.ts +0 -14
- package/src/agent-tools/tools/integrations/okta.ts +0 -14
- package/src/agent-tools/tools/integrations/openai.ts +0 -14
- package/src/agent-tools/tools/integrations/opsgenie.ts +0 -14
- package/src/agent-tools/tools/integrations/outreach.ts +0 -14
- package/src/agent-tools/tools/integrations/paddle.ts +0 -14
- package/src/agent-tools/tools/integrations/pagerduty.ts +0 -14
- package/src/agent-tools/tools/integrations/pandadoc.ts +0 -14
- package/src/agent-tools/tools/integrations/paypal.ts +0 -14
- package/src/agent-tools/tools/integrations/personio.ts +0 -14
- package/src/agent-tools/tools/integrations/pinecone.ts +0 -14
- package/src/agent-tools/tools/integrations/pipedrive.ts +0 -14
- package/src/agent-tools/tools/integrations/plaid.ts +0 -14
- package/src/agent-tools/tools/integrations/postmark.ts +0 -14
- package/src/agent-tools/tools/integrations/power-automate.ts +0 -14
- package/src/agent-tools/tools/integrations/quickbooks.ts +0 -14
- package/src/agent-tools/tools/integrations/recurly.ts +0 -14
- package/src/agent-tools/tools/integrations/reddit.ts +0 -14
- package/src/agent-tools/tools/integrations/render.ts +0 -14
- package/src/agent-tools/tools/integrations/ringcentral.ts +0 -14
- package/src/agent-tools/tools/integrations/rippling.ts +0 -14
- package/src/agent-tools/tools/integrations/salesforce.ts +0 -14
- package/src/agent-tools/tools/integrations/salesloft.ts +0 -14
- package/src/agent-tools/tools/integrations/sanity.ts +0 -14
- package/src/agent-tools/tools/integrations/sap.ts +0 -14
- package/src/agent-tools/tools/integrations/segment.ts +0 -14
- package/src/agent-tools/tools/integrations/sendgrid.ts +0 -14
- package/src/agent-tools/tools/integrations/sentry.ts +0 -14
- package/src/agent-tools/tools/integrations/servicenow.ts +0 -14
- package/src/agent-tools/tools/integrations/shopify.ts +0 -14
- package/src/agent-tools/tools/integrations/shortcut.ts +0 -14
- package/src/agent-tools/tools/integrations/slack.ts +0 -14
- package/src/agent-tools/tools/integrations/smartsheet.ts +0 -14
- package/src/agent-tools/tools/integrations/snowflake.ts +0 -14
- package/src/agent-tools/tools/integrations/snyk.ts +0 -14
- package/src/agent-tools/tools/integrations/splunk.ts +0 -14
- package/src/agent-tools/tools/integrations/square.ts +0 -14
- package/src/agent-tools/tools/integrations/statuspage.ts +0 -14
- package/src/agent-tools/tools/integrations/stripe.ts +0 -14
- package/src/agent-tools/tools/integrations/supabase.ts +0 -14
- package/src/agent-tools/tools/integrations/teamwork.ts +0 -14
- package/src/agent-tools/tools/integrations/telegram.ts +0 -14
- package/src/agent-tools/tools/integrations/terraform.ts +0 -14
- package/src/agent-tools/tools/integrations/todoist.ts +0 -14
- package/src/agent-tools/tools/integrations/trello.ts +0 -14
- package/src/agent-tools/tools/integrations/twilio.ts +0 -14
- package/src/agent-tools/tools/integrations/twitter.ts +0 -14
- package/src/agent-tools/tools/integrations/vercel.ts +0 -14
- package/src/agent-tools/tools/integrations/weaviate.ts +0 -14
- package/src/agent-tools/tools/integrations/webex.ts +0 -14
- package/src/agent-tools/tools/integrations/webflow.ts +0 -14
- package/src/agent-tools/tools/integrations/whatsapp.ts +0 -14
- package/src/agent-tools/tools/integrations/whereby.ts +0 -14
- package/src/agent-tools/tools/integrations/woocommerce.ts +0 -14
- package/src/agent-tools/tools/integrations/wordpress.ts +0 -14
- package/src/agent-tools/tools/integrations/workday.ts +0 -14
- package/src/agent-tools/tools/integrations/wrike.ts +0 -14
- package/src/agent-tools/tools/integrations/xero.ts +0 -14
- package/src/agent-tools/tools/integrations/youtube.ts +0 -14
- package/src/agent-tools/tools/integrations/zendesk.ts +0 -14
- package/src/agent-tools/tools/integrations/zoho-crm.ts +0 -14
- package/src/agent-tools/tools/integrations/zoom.ts +0 -14
- package/src/agent-tools/tools/integrations/zuora.ts +0 -14
- package/src/agent-tools/tools/knowledge-search.ts +0 -318
- package/src/agent-tools/tools/local/coding.ts +0 -626
- package/src/agent-tools/tools/local/dependency-manager.ts +0 -647
- package/src/agent-tools/tools/local/file-edit.ts +0 -31
- package/src/agent-tools/tools/local/file-list.ts +0 -39
- package/src/agent-tools/tools/local/file-ops.ts +0 -48
- package/src/agent-tools/tools/local/file-read.ts +0 -39
- package/src/agent-tools/tools/local/file-search.ts +0 -46
- package/src/agent-tools/tools/local/file-write.ts +0 -28
- package/src/agent-tools/tools/local/filesystem.ts +0 -5
- package/src/agent-tools/tools/local/index.ts +0 -55
- package/src/agent-tools/tools/local/resolve-path.ts +0 -18
- package/src/agent-tools/tools/local/shell.ts +0 -277
- package/src/agent-tools/tools/local/system-info.ts +0 -29
- package/src/agent-tools/tools/management.ts +0 -425
- package/src/agent-tools/tools/mcp-bridge.ts +0 -142
- package/src/agent-tools/tools/mcp-server-tools.ts +0 -91
- package/src/agent-tools/tools/meeting-lifecycle.ts +0 -438
- package/src/agent-tools/tools/memory.ts +0 -509
- package/src/agent-tools/tools/messaging/index.ts +0 -6
- package/src/agent-tools/tools/messaging/telegram.ts +0 -167
- package/src/agent-tools/tools/messaging/whatsapp.ts +0 -651
- package/src/agent-tools/tools/microsoft/contacts.ts +0 -176
- package/src/agent-tools/tools/microsoft/excel-vba.ts +0 -331
- package/src/agent-tools/tools/microsoft/excel.ts +0 -261
- package/src/agent-tools/tools/microsoft/graph-api.ts +0 -161
- package/src/agent-tools/tools/microsoft/index.ts +0 -95
- package/src/agent-tools/tools/microsoft/onedrive.ts +0 -429
- package/src/agent-tools/tools/microsoft/onenote.ts +0 -186
- package/src/agent-tools/tools/microsoft/outlook-calendar.ts +0 -286
- package/src/agent-tools/tools/microsoft/outlook-mail.ts +0 -723
- package/src/agent-tools/tools/microsoft/planner.ts +0 -200
- package/src/agent-tools/tools/microsoft/powerbi.ts +0 -266
- package/src/agent-tools/tools/microsoft/powerpoint.ts +0 -186
- package/src/agent-tools/tools/microsoft/sharepoint.ts +0 -328
- package/src/agent-tools/tools/microsoft/teams.ts +0 -463
- package/src/agent-tools/tools/microsoft/todo.ts +0 -181
- package/src/agent-tools/tools/oauth-token-provider.ts +0 -101
- package/src/agent-tools/tools/read.ts +0 -160
- package/src/agent-tools/tools/visual-memory/capture.ts +0 -217
- package/src/agent-tools/tools/visual-memory/diff.ts +0 -283
- package/src/agent-tools/tools/visual-memory/index.ts +0 -698
- package/src/agent-tools/tools/visual-memory/phash.ts +0 -120
- package/src/agent-tools/tools/visual-memory/similarity.ts +0 -354
- package/src/agent-tools/tools/visual-memory/storage.ts +0 -534
- package/src/agent-tools/tools/visual-memory/types.ts +0 -100
- package/src/agent-tools/tools/web-fetch-utils.ts +0 -202
- package/src/agent-tools/tools/web-fetch.ts +0 -464
- package/src/agent-tools/tools/web-search.ts +0 -480
- package/src/agent-tools/tools/web-shared.ts +0 -232
- package/src/agent-tools/tools/write.ts +0 -68
- package/src/agent-tools/types.ts +0 -214
- package/src/agenticmail/index.ts +0 -34
- package/src/agenticmail/manager.ts +0 -253
- package/src/agenticmail/providers/google.ts +0 -391
- package/src/agenticmail/providers/imap.ts +0 -454
- package/src/agenticmail/providers/index.ts +0 -28
- package/src/agenticmail/providers/microsoft.ts +0 -260
- package/src/agenticmail/types.ts +0 -173
- package/src/auth/routes.ts +0 -1589
- package/src/browser/bridge-auth-registry.ts +0 -34
- package/src/browser/bridge-server.ts +0 -93
- package/src/browser/cdp.helpers.ts +0 -180
- package/src/browser/cdp.ts +0 -466
- package/src/browser/chrome.executables.ts +0 -625
- package/src/browser/chrome.profile-decoration.ts +0 -198
- package/src/browser/chrome.ts +0 -349
- package/src/browser/client-actions-core.ts +0 -259
- package/src/browser/client-actions-observe.ts +0 -184
- package/src/browser/client-actions-state.ts +0 -284
- package/src/browser/client-actions-types.ts +0 -16
- package/src/browser/client-actions-url.ts +0 -11
- package/src/browser/client-actions.ts +0 -4
- package/src/browser/client-fetch.ts +0 -253
- package/src/browser/client.ts +0 -337
- package/src/browser/config.ts +0 -301
- package/src/browser/constants.ts +0 -8
- package/src/browser/control-auth.ts +0 -94
- package/src/browser/control-service.ts +0 -81
- package/src/browser/csrf.ts +0 -87
- package/src/browser/enterprise-compat.ts +0 -562
- package/src/browser/extension-relay.ts +0 -834
- package/src/browser/http-auth.ts +0 -63
- package/src/browser/navigation-guard.ts +0 -50
- package/src/browser/paths.ts +0 -49
- package/src/browser/playwright.d.ts +0 -12
- package/src/browser/profiles-service.ts +0 -187
- package/src/browser/profiles.ts +0 -114
- package/src/browser/proxy-files.ts +0 -41
- package/src/browser/pw-ai-module.ts +0 -52
- package/src/browser/pw-ai-state.ts +0 -9
- package/src/browser/pw-ai.ts +0 -65
- package/src/browser/pw-role-snapshot.ts +0 -434
- package/src/browser/pw-session.ts +0 -810
- package/src/browser/pw-tools-core.activity.ts +0 -68
- package/src/browser/pw-tools-core.downloads.ts +0 -281
- package/src/browser/pw-tools-core.interactions.ts +0 -646
- package/src/browser/pw-tools-core.responses.ts +0 -124
- package/src/browser/pw-tools-core.shared.ts +0 -70
- package/src/browser/pw-tools-core.snapshot.ts +0 -213
- package/src/browser/pw-tools-core.state.ts +0 -209
- package/src/browser/pw-tools-core.storage.ts +0 -128
- package/src/browser/pw-tools-core.trace.ts +0 -37
- package/src/browser/pw-tools-core.ts +0 -8
- package/src/browser/resolved-config-refresh.ts +0 -59
- package/src/browser/routes/agent.act.shared.ts +0 -52
- package/src/browser/routes/agent.act.ts +0 -575
- package/src/browser/routes/agent.debug.ts +0 -149
- package/src/browser/routes/agent.shared.ts +0 -143
- package/src/browser/routes/agent.snapshot.ts +0 -333
- package/src/browser/routes/agent.storage.ts +0 -451
- package/src/browser/routes/agent.ts +0 -13
- package/src/browser/routes/basic.ts +0 -202
- package/src/browser/routes/dispatcher.ts +0 -126
- package/src/browser/routes/index.ts +0 -11
- package/src/browser/routes/path-output.ts +0 -1
- package/src/browser/routes/tabs.ts +0 -217
- package/src/browser/routes/types.ts +0 -26
- package/src/browser/routes/utils.ts +0 -73
- package/src/browser/screenshot.ts +0 -54
- package/src/browser/server-context.ts +0 -688
- package/src/browser/server-context.types.ts +0 -65
- package/src/browser/server-lifecycle.ts +0 -48
- package/src/browser/server-middleware.ts +0 -37
- package/src/browser/server.ts +0 -110
- package/src/browser/target-id.ts +0 -30
- package/src/browser/trash.ts +0 -21
- package/src/cli-agent.ts +0 -2452
- package/src/cli-reset-password.ts +0 -138
- package/src/cli-serve.ts +0 -314
- package/src/cli.ts +0 -103
- package/src/dashboard/app.js +0 -579
- package/src/dashboard/assets/brand-logos.js +0 -350
- package/src/dashboard/assets/icons/emoji-icons.js +0 -893
- package/src/dashboard/assets/logo.png +0 -0
- package/src/dashboard/assets/provider-logos.js +0 -139
- package/src/dashboard/components/error-boundary.js +0 -21
- package/src/dashboard/components/help-button.js +0 -65
- package/src/dashboard/components/icons.js +0 -64
- package/src/dashboard/components/knowledge-link.js +0 -79
- package/src/dashboard/components/modal.js +0 -125
- package/src/dashboard/components/org-switcher.js +0 -156
- package/src/dashboard/components/persona-fields.js +0 -460
- package/src/dashboard/components/settings-help.js +0 -193
- package/src/dashboard/components/tag-input.js +0 -96
- package/src/dashboard/components/timezones.js +0 -352
- package/src/dashboard/components/transport-encryption.js +0 -288
- package/src/dashboard/components/utils.js +0 -205
- package/src/dashboard/data/countries.js +0 -255
- package/src/dashboard/docs/activity.html +0 -253
- package/src/dashboard/docs/agent-activity.html +0 -199
- package/src/dashboard/docs/agent-autonomy.html +0 -161
- package/src/dashboard/docs/agent-budget.html +0 -190
- package/src/dashboard/docs/agent-channels.html +0 -189
- package/src/dashboard/docs/agent-communication.html +0 -171
- package/src/dashboard/docs/agent-configuration.html +0 -194
- package/src/dashboard/docs/agent-deployment.html +0 -323
- package/src/dashboard/docs/agent-email.html +0 -184
- package/src/dashboard/docs/agent-guardrails.html +0 -206
- package/src/dashboard/docs/agent-manager.html +0 -226
- package/src/dashboard/docs/agent-memory.html +0 -215
- package/src/dashboard/docs/agent-overview.html +0 -226
- package/src/dashboard/docs/agent-permissions.html +0 -305
- package/src/dashboard/docs/agent-personal.html +0 -155
- package/src/dashboard/docs/agent-security.html +0 -188
- package/src/dashboard/docs/agent-skills.html +0 -224
- package/src/dashboard/docs/agent-tool-security.html +0 -205
- package/src/dashboard/docs/agent-tools.html +0 -238
- package/src/dashboard/docs/agent-whatsapp.html +0 -210
- package/src/dashboard/docs/agent-workforce.html +0 -199
- package/src/dashboard/docs/agents.html +0 -258
- package/src/dashboard/docs/approvals.html +0 -200
- package/src/dashboard/docs/audit.html +0 -206
- package/src/dashboard/docs/browser-providers.html +0 -313
- package/src/dashboard/docs/cluster.html +0 -285
- package/src/dashboard/docs/community-skills.html +0 -253
- package/src/dashboard/docs/compliance.html +0 -221
- package/src/dashboard/docs/dashboard.html +0 -84
- package/src/dashboard/docs/database-access.html +0 -322
- package/src/dashboard/docs/dlp.html +0 -268
- package/src/dashboard/docs/docs-style.css +0 -26
- package/src/dashboard/docs/domain-status.html +0 -294
- package/src/dashboard/docs/guardrails.html +0 -265
- package/src/dashboard/docs/journal.html +0 -197
- package/src/dashboard/docs/knowledge-contributions.html +0 -286
- package/src/dashboard/docs/knowledge.html +0 -268
- package/src/dashboard/docs/memory-transfer.html +0 -311
- package/src/dashboard/docs/messages.html +0 -217
- package/src/dashboard/docs/multi-tenant.html +0 -311
- package/src/dashboard/docs/org-chart.html +0 -239
- package/src/dashboard/docs/organizations.html +0 -182
- package/src/dashboard/docs/roles.html +0 -195
- package/src/dashboard/docs/settings-network.html +0 -321
- package/src/dashboard/docs/settings-security.html +0 -347
- package/src/dashboard/docs/settings-tool-security.html +0 -176
- package/src/dashboard/docs/settings.html +0 -280
- package/src/dashboard/docs/skill-connections.html +0 -270
- package/src/dashboard/docs/skills.html +0 -206
- package/src/dashboard/docs/task-pipeline.html +0 -261
- package/src/dashboard/docs/transport-encryption.html +0 -359
- package/src/dashboard/docs/users.html +0 -225
- package/src/dashboard/docs/vault.html +0 -260
- package/src/dashboard/docs/workforce.html +0 -245
- package/src/dashboard/index.html +0 -444
- package/src/dashboard/pages/activity.js +0 -379
- package/src/dashboard/pages/agent-detail/activity.js +0 -277
- package/src/dashboard/pages/agent-detail/autonomy.js +0 -244
- package/src/dashboard/pages/agent-detail/budget.js +0 -269
- package/src/dashboard/pages/agent-detail/channels.js +0 -494
- package/src/dashboard/pages/agent-detail/communication.js +0 -296
- package/src/dashboard/pages/agent-detail/configuration.js +0 -882
- package/src/dashboard/pages/agent-detail/deployment.js +0 -958
- package/src/dashboard/pages/agent-detail/email.js +0 -674
- package/src/dashboard/pages/agent-detail/guardrails.js +0 -521
- package/src/dashboard/pages/agent-detail/index.js +0 -261
- package/src/dashboard/pages/agent-detail/manager.js +0 -357
- package/src/dashboard/pages/agent-detail/meeting-browser.js +0 -933
- package/src/dashboard/pages/agent-detail/memory.js +0 -368
- package/src/dashboard/pages/agent-detail/overview.js +0 -844
- package/src/dashboard/pages/agent-detail/permissions.js +0 -1163
- package/src/dashboard/pages/agent-detail/personal-details.js +0 -404
- package/src/dashboard/pages/agent-detail/security.js +0 -409
- package/src/dashboard/pages/agent-detail/shared.js +0 -85
- package/src/dashboard/pages/agent-detail/skills-section.js +0 -183
- package/src/dashboard/pages/agent-detail/tool-security.js +0 -380
- package/src/dashboard/pages/agent-detail/tools.js +0 -322
- package/src/dashboard/pages/agent-detail/whatsapp.js +0 -824
- package/src/dashboard/pages/agent-detail/workforce.js +0 -683
- package/src/dashboard/pages/agents.js +0 -1242
- package/src/dashboard/pages/approvals.js +0 -100
- package/src/dashboard/pages/audit.js +0 -198
- package/src/dashboard/pages/cluster.js +0 -512
- package/src/dashboard/pages/community-skills.js +0 -1219
- package/src/dashboard/pages/compliance.js +0 -475
- package/src/dashboard/pages/dashboard.js +0 -180
- package/src/dashboard/pages/database-access.js +0 -812
- package/src/dashboard/pages/dlp.js +0 -293
- package/src/dashboard/pages/domain-status.js +0 -951
- package/src/dashboard/pages/guardrails.js +0 -1035
- package/src/dashboard/pages/journal.js +0 -172
- package/src/dashboard/pages/knowledge-contributions.js +0 -1682
- package/src/dashboard/pages/knowledge-import.js +0 -455
- package/src/dashboard/pages/knowledge.js +0 -582
- package/src/dashboard/pages/login.js +0 -1056
- package/src/dashboard/pages/memory-transfer.js +0 -631
- package/src/dashboard/pages/messages.js +0 -303
- package/src/dashboard/pages/org-chart.js +0 -349
- package/src/dashboard/pages/organizations.js +0 -1081
- package/src/dashboard/pages/roles.js +0 -780
- package/src/dashboard/pages/settings.js +0 -3790
- package/src/dashboard/pages/skill-connections.js +0 -982
- package/src/dashboard/pages/skills.js +0 -879
- package/src/dashboard/pages/task-pipeline.js +0 -684
- package/src/dashboard/pages/users.js +0 -867
- package/src/dashboard/pages/vault.js +0 -791
- package/src/dashboard/pages/workforce.js +0 -851
- package/src/dashboard/vendor/react-dom.development.js +0 -29924
- package/src/dashboard/vendor/react-dom.production.min.js +0 -267
- package/src/dashboard/vendor/react.development.js +0 -3343
- package/src/dashboard/vendor/react.production.min.js +0 -31
- package/src/database-access/agent-tools.ts +0 -193
- package/src/database-access/connection-manager.ts +0 -1341
- package/src/database-access/index.ts +0 -21
- package/src/database-access/query-sanitizer.ts +0 -220
- package/src/database-access/routes.ts +0 -226
- package/src/database-access/types.ts +0 -226
- package/src/db/adapter.ts +0 -510
- package/src/db/dynamodb.ts +0 -454
- package/src/db/factory.ts +0 -129
- package/src/db/mongodb.ts +0 -360
- package/src/db/mysql.ts +0 -531
- package/src/db/postgres.ts +0 -863
- package/src/db/proxy.ts +0 -39
- package/src/db/resolve-driver.ts +0 -29
- package/src/db/sql-schema.ts +0 -124
- package/src/db/sqlite.ts +0 -493
- package/src/db/turso.ts +0 -470
- package/src/deploy/fly.ts +0 -368
- package/src/deploy/managed.ts +0 -235
- package/src/domain-lock/cli-recover.ts +0 -591
- package/src/domain-lock/cli-verify.ts +0 -190
- package/src/domain-lock/index.ts +0 -220
- package/src/engine/activity-routes.ts +0 -154
- package/src/engine/activity.ts +0 -568
- package/src/engine/agent-autonomy.ts +0 -974
- package/src/engine/agent-config.ts +0 -646
- package/src/engine/agent-heartbeat.ts +0 -720
- package/src/engine/agent-hierarchy.ts +0 -1064
- package/src/engine/agent-memory.ts +0 -806
- package/src/engine/agent-notify.ts +0 -50
- package/src/engine/agent-routes.ts +0 -2583
- package/src/engine/agent-status.ts +0 -311
- package/src/engine/ambient-memory.ts +0 -401
- package/src/engine/approvals.ts +0 -615
- package/src/engine/assets/thinking-hum.mp3 +0 -0
- package/src/engine/catalog-routes.ts +0 -232
- package/src/engine/chat-poller.ts +0 -913
- package/src/engine/chat-webhook-routes.ts +0 -304
- package/src/engine/cli-build-skill.ts +0 -285
- package/src/engine/cli-submit-skill.ts +0 -200
- package/src/engine/cli-validate.ts +0 -188
- package/src/engine/cluster.ts +0 -278
- package/src/engine/communication-routes.ts +0 -139
- package/src/engine/communication.ts +0 -765
- package/src/engine/community-registry.ts +0 -1529
- package/src/engine/community-routes.ts +0 -260
- package/src/engine/compliance-routes.ts +0 -133
- package/src/engine/compliance.ts +0 -1679
- package/src/engine/config-bus.ts +0 -103
- package/src/engine/db-adapter.ts +0 -1156
- package/src/engine/db-schema.ts +0 -1945
- package/src/engine/deploy-schema-routes.ts +0 -176
- package/src/engine/deployer.ts +0 -957
- package/src/engine/dlp-routes.ts +0 -101
- package/src/engine/dlp.ts +0 -410
- package/src/engine/email-poller.ts +0 -855
- package/src/engine/emoji.ts +0 -106
- package/src/engine/guardrail-routes.ts +0 -125
- package/src/engine/guardrails.ts +0 -465
- package/src/engine/index.ts +0 -255
- package/src/engine/journal-routes.ts +0 -56
- package/src/engine/journal.ts +0 -249
- package/src/engine/knowledge-contribution-routes.ts +0 -633
- package/src/engine/knowledge-contribution.ts +0 -1386
- package/src/engine/knowledge-import/chunker.ts +0 -241
- package/src/engine/knowledge-import/import-manager.ts +0 -416
- package/src/engine/knowledge-import/index.ts +0 -27
- package/src/engine/knowledge-import/processors/clean.ts +0 -149
- package/src/engine/knowledge-import/processors/extract-gdrive.ts +0 -102
- package/src/engine/knowledge-import/processors/extract-github.ts +0 -74
- package/src/engine/knowledge-import/processors/extract-sharepoint.ts +0 -69
- package/src/engine/knowledge-import/processors/extract-web.ts +0 -275
- package/src/engine/knowledge-import/processors/index.ts +0 -18
- package/src/engine/knowledge-import/processors/pipeline.ts +0 -171
- package/src/engine/knowledge-import/processors/types.ts +0 -78
- package/src/engine/knowledge-import/processors/validate.ts +0 -150
- package/src/engine/knowledge-import/provider-file-upload.ts +0 -95
- package/src/engine/knowledge-import/provider-github.ts +0 -144
- package/src/engine/knowledge-import/provider-google-sites.ts +0 -323
- package/src/engine/knowledge-import/provider-sharepoint.ts +0 -276
- package/src/engine/knowledge-import/provider-url.ts +0 -218
- package/src/engine/knowledge-import/routes.ts +0 -94
- package/src/engine/knowledge-import/types.ts +0 -92
- package/src/engine/knowledge-routes.ts +0 -231
- package/src/engine/knowledge.ts +0 -587
- package/src/engine/lifecycle.ts +0 -1420
- package/src/engine/mcp-process-manager.ts +0 -573
- package/src/engine/meeting-monitor.ts +0 -483
- package/src/engine/meeting-voice-intelligence.ts +0 -340
- package/src/engine/memory-routes.ts +0 -142
- package/src/engine/memory-transfer-routes.ts +0 -339
- package/src/engine/messaging-history.ts +0 -177
- package/src/engine/messaging-poller.ts +0 -786
- package/src/engine/model-fallback.ts +0 -141
- package/src/engine/oauth-connect-routes.ts +0 -603
- package/src/engine/oauth-connect.ts +0 -304
- package/src/engine/onboarding-routes.ts +0 -148
- package/src/engine/onboarding.ts +0 -574
- package/src/engine/org-approval-routes.ts +0 -146
- package/src/engine/org-integration-routes.ts +0 -399
- package/src/engine/org-integrations.ts +0 -608
- package/src/engine/org-policies.ts +0 -502
- package/src/engine/policy-import-routes.ts +0 -125
- package/src/engine/policy-import.ts +0 -1186
- package/src/engine/policy-routes.ts +0 -163
- package/src/engine/routes.ts +0 -1236
- package/src/engine/screen-unlock.ts +0 -136
- package/src/engine/session-router.ts +0 -212
- package/src/engine/skill-updater-routes.ts +0 -132
- package/src/engine/skill-updater.ts +0 -480
- package/src/engine/skill-validator.ts +0 -331
- package/src/engine/skills/agent-management.ts +0 -119
- package/src/engine/skills/agent-memory.ts +0 -19
- package/src/engine/skills/agenticmail.ts +0 -116
- package/src/engine/skills/core-tools.ts +0 -25
- package/src/engine/skills/database-access.ts +0 -78
- package/src/engine/skills/enterprise-code-sandbox.ts +0 -113
- package/src/engine/skills/enterprise-database.ts +0 -123
- package/src/engine/skills/enterprise-diff.ts +0 -95
- package/src/engine/skills/enterprise-documents.ts +0 -162
- package/src/engine/skills/enterprise-http.ts +0 -99
- package/src/engine/skills/enterprise-security-scan.ts +0 -125
- package/src/engine/skills/enterprise-spreadsheet.ts +0 -171
- package/src/engine/skills/gws-admin.ts +0 -18
- package/src/engine/skills/gws-calendar.ts +0 -21
- package/src/engine/skills/gws-chat.ts +0 -29
- package/src/engine/skills/gws-contacts.ts +0 -20
- package/src/engine/skills/gws-docs.ts +0 -18
- package/src/engine/skills/gws-drive.ts +0 -23
- package/src/engine/skills/gws-forms.ts +0 -23
- package/src/engine/skills/gws-gmail.ts +0 -30
- package/src/engine/skills/gws-groups.ts +0 -17
- package/src/engine/skills/gws-keep.ts +0 -17
- package/src/engine/skills/gws-maps.ts +0 -25
- package/src/engine/skills/gws-meet.ts +0 -23
- package/src/engine/skills/gws-sheets.ts +0 -22
- package/src/engine/skills/gws-sites.ts +0 -16
- package/src/engine/skills/gws-slides.ts +0 -27
- package/src/engine/skills/gws-tasks.ts +0 -22
- package/src/engine/skills/gws-vault.ts +0 -17
- package/src/engine/skills/index.ts +0 -159
- package/src/engine/skills/knowledge-search.ts +0 -18
- package/src/engine/skills/local-system.ts +0 -61
- package/src/engine/skills/m365-admin.ts +0 -18
- package/src/engine/skills/m365-bookings.ts +0 -17
- package/src/engine/skills/m365-copilot.ts +0 -17
- package/src/engine/skills/m365-excel.ts +0 -60
- package/src/engine/skills/m365-forms.ts +0 -17
- package/src/engine/skills/m365-onedrive.ts +0 -60
- package/src/engine/skills/m365-onenote.ts +0 -17
- package/src/engine/skills/m365-outlook.ts +0 -27
- package/src/engine/skills/m365-planner.ts +0 -18
- package/src/engine/skills/m365-power-automate.ts +0 -18
- package/src/engine/skills/m365-power-bi.ts +0 -19
- package/src/engine/skills/m365-powerpoint.ts +0 -33
- package/src/engine/skills/m365-sharepoint.ts +0 -20
- package/src/engine/skills/m365-teams.ts +0 -21
- package/src/engine/skills/m365-todo.ts +0 -17
- package/src/engine/skills/m365-whiteboard.ts +0 -16
- package/src/engine/skills/m365-word.ts +0 -42
- package/src/engine/skills/mcp-bridge.ts +0 -45
- package/src/engine/skills/meeting-lifecycle.ts +0 -20
- package/src/engine/skills/messaging.ts +0 -46
- package/src/engine/skills/visual-memory.ts +0 -25
- package/src/engine/skills.ts +0 -688
- package/src/engine/soul-library.ts +0 -142
- package/src/engine/soul-templates.json +0 -1525
- package/src/engine/storage-manager.ts +0 -252
- package/src/engine/storage-routes.ts +0 -113
- package/src/engine/storage.ts +0 -528
- package/src/engine/task-poller.ts +0 -394
- package/src/engine/task-queue-after-spawn.ts +0 -66
- package/src/engine/task-queue-before-spawn.ts +0 -113
- package/src/engine/task-queue-routes.ts +0 -161
- package/src/engine/task-queue.ts +0 -664
- package/src/engine/tenant.ts +0 -409
- package/src/engine/tool-catalog.ts +0 -354
- package/src/engine/vault-routes.ts +0 -134
- package/src/engine/vault.ts +0 -601
- package/src/engine/workforce-routes.ts +0 -331
- package/src/engine/workforce.ts +0 -1161
- package/src/index.ts +0 -77
- package/src/lib/cidr.ts +0 -122
- package/src/lib/config-store.ts +0 -86
- package/src/lib/resilience.ts +0 -326
- package/src/lib/text-search.ts +0 -358
- package/src/mcp/adapters/activecampaign.adapter.ts +0 -391
- package/src/mcp/adapters/adobe-sign.adapter.ts +0 -469
- package/src/mcp/adapters/adp.adapter.ts +0 -358
- package/src/mcp/adapters/airtable.adapter.ts +0 -273
- package/src/mcp/adapters/apollo.adapter.ts +0 -420
- package/src/mcp/adapters/asana.adapter.ts +0 -315
- package/src/mcp/adapters/auth0.adapter.ts +0 -386
- package/src/mcp/adapters/aws.adapter.ts +0 -345
- package/src/mcp/adapters/azure-devops.adapter.ts +0 -389
- package/src/mcp/adapters/bamboohr.adapter.ts +0 -376
- package/src/mcp/adapters/basecamp.adapter.ts +0 -366
- package/src/mcp/adapters/bigcommerce.adapter.ts +0 -429
- package/src/mcp/adapters/bitbucket.adapter.ts +0 -260
- package/src/mcp/adapters/box.adapter.ts +0 -350
- package/src/mcp/adapters/brex.adapter.ts +0 -367
- package/src/mcp/adapters/buffer.adapter.ts +0 -303
- package/src/mcp/adapters/calendly.adapter.ts +0 -262
- package/src/mcp/adapters/canva.adapter.ts +0 -256
- package/src/mcp/adapters/chargebee.adapter.ts +0 -448
- package/src/mcp/adapters/circleci.adapter.ts +0 -216
- package/src/mcp/adapters/clickup.adapter.ts +0 -335
- package/src/mcp/adapters/close.adapter.ts +0 -390
- package/src/mcp/adapters/cloudflare.adapter.ts +0 -378
- package/src/mcp/adapters/confluence.adapter.ts +0 -301
- package/src/mcp/adapters/contentful.adapter.ts +0 -355
- package/src/mcp/adapters/copper.adapter.ts +0 -468
- package/src/mcp/adapters/crisp.adapter.ts +0 -415
- package/src/mcp/adapters/crowdstrike.adapter.ts +0 -413
- package/src/mcp/adapters/datadog.adapter.ts +0 -373
- package/src/mcp/adapters/digitalocean.adapter.ts +0 -336
- package/src/mcp/adapters/discord.adapter.ts +0 -248
- package/src/mcp/adapters/docker.adapter.ts +0 -238
- package/src/mcp/adapters/docusign.adapter.ts +0 -431
- package/src/mcp/adapters/drift.adapter.ts +0 -386
- package/src/mcp/adapters/dropbox.adapter.ts +0 -315
- package/src/mcp/adapters/figma.adapter.ts +0 -302
- package/src/mcp/adapters/firebase.adapter.ts +0 -446
- package/src/mcp/adapters/flyio.adapter.ts +0 -302
- package/src/mcp/adapters/freshbooks.adapter.ts +0 -474
- package/src/mcp/adapters/freshdesk.adapter.ts +0 -441
- package/src/mcp/adapters/freshsales.adapter.ts +0 -457
- package/src/mcp/adapters/freshservice.adapter.ts +0 -481
- package/src/mcp/adapters/front.adapter.ts +0 -357
- package/src/mcp/adapters/github-actions.adapter.ts +0 -329
- package/src/mcp/adapters/github.adapter.ts +0 -387
- package/src/mcp/adapters/gitlab.adapter.ts +0 -368
- package/src/mcp/adapters/gong.adapter.ts +0 -386
- package/src/mcp/adapters/google-ads.adapter.ts +0 -363
- package/src/mcp/adapters/google-analytics.adapter.ts +0 -316
- package/src/mcp/adapters/google-cloud.adapter.ts +0 -312
- package/src/mcp/adapters/gotomeeting.adapter.ts +0 -255
- package/src/mcp/adapters/grafana.adapter.ts +0 -361
- package/src/mcp/adapters/greenhouse.adapter.ts +0 -354
- package/src/mcp/adapters/gusto.adapter.ts +0 -329
- package/src/mcp/adapters/hashicorp-vault.adapter.ts +0 -355
- package/src/mcp/adapters/heroku.adapter.ts +0 -291
- package/src/mcp/adapters/hibob.adapter.ts +0 -334
- package/src/mcp/adapters/hootsuite.adapter.ts +0 -322
- package/src/mcp/adapters/hubspot.adapter.ts +0 -400
- package/src/mcp/adapters/huggingface.adapter.ts +0 -349
- package/src/mcp/adapters/index.ts +0 -524
- package/src/mcp/adapters/intercom.adapter.ts +0 -269
- package/src/mcp/adapters/jira.adapter.ts +0 -482
- package/src/mcp/adapters/klaviyo.adapter.ts +0 -353
- package/src/mcp/adapters/kubernetes.adapter.ts +0 -431
- package/src/mcp/adapters/lattice.adapter.ts +0 -339
- package/src/mcp/adapters/launchdarkly.adapter.ts +0 -368
- package/src/mcp/adapters/lever.adapter.ts +0 -347
- package/src/mcp/adapters/linear.adapter.ts +0 -300
- package/src/mcp/adapters/linkedin.adapter.ts +0 -331
- package/src/mcp/adapters/livechat.adapter.ts +0 -259
- package/src/mcp/adapters/loom.adapter.ts +0 -230
- package/src/mcp/adapters/mailchimp.adapter.ts +0 -394
- package/src/mcp/adapters/mailgun.adapter.ts +0 -425
- package/src/mcp/adapters/miro.adapter.ts +0 -274
- package/src/mcp/adapters/mixpanel.adapter.ts +0 -324
- package/src/mcp/adapters/monday.adapter.ts +0 -308
- package/src/mcp/adapters/mongodb-atlas.adapter.ts +0 -345
- package/src/mcp/adapters/neon.adapter.ts +0 -312
- package/src/mcp/adapters/netlify.adapter.ts +0 -324
- package/src/mcp/adapters/netsuite.adapter.ts +0 -411
- package/src/mcp/adapters/newrelic.adapter.ts +0 -339
- package/src/mcp/adapters/notion.adapter.ts +0 -338
- package/src/mcp/adapters/okta.adapter.ts +0 -394
- package/src/mcp/adapters/openai.adapter.ts +0 -315
- package/src/mcp/adapters/opsgenie.adapter.ts +0 -375
- package/src/mcp/adapters/outreach.adapter.ts +0 -372
- package/src/mcp/adapters/paddle.adapter.ts +0 -467
- package/src/mcp/adapters/pagerduty.adapter.ts +0 -412
- package/src/mcp/adapters/pandadoc.adapter.ts +0 -389
- package/src/mcp/adapters/paypal.adapter.ts +0 -465
- package/src/mcp/adapters/personio.adapter.ts +0 -401
- package/src/mcp/adapters/pinecone.adapter.ts +0 -340
- package/src/mcp/adapters/pipedrive.adapter.ts +0 -324
- package/src/mcp/adapters/plaid.adapter.ts +0 -444
- package/src/mcp/adapters/postmark.adapter.ts +0 -387
- package/src/mcp/adapters/power-automate.adapter.ts +0 -388
- package/src/mcp/adapters/quickbooks.adapter.ts +0 -431
- package/src/mcp/adapters/recurly.adapter.ts +0 -433
- package/src/mcp/adapters/reddit.adapter.ts +0 -371
- package/src/mcp/adapters/render.adapter.ts +0 -332
- package/src/mcp/adapters/ringcentral.adapter.ts +0 -281
- package/src/mcp/adapters/rippling.adapter.ts +0 -287
- package/src/mcp/adapters/salesforce.adapter.ts +0 -321
- package/src/mcp/adapters/salesloft.adapter.ts +0 -413
- package/src/mcp/adapters/sanity.adapter.ts +0 -363
- package/src/mcp/adapters/sap.adapter.ts +0 -483
- package/src/mcp/adapters/segment.adapter.ts +0 -260
- package/src/mcp/adapters/sendgrid.adapter.ts +0 -265
- package/src/mcp/adapters/sentry.adapter.ts +0 -331
- package/src/mcp/adapters/servicenow.adapter.ts +0 -468
- package/src/mcp/adapters/shopify.adapter.ts +0 -451
- package/src/mcp/adapters/shortcut.adapter.ts +0 -290
- package/src/mcp/adapters/slack.adapter.ts +0 -380
- package/src/mcp/adapters/smartsheet.adapter.ts +0 -326
- package/src/mcp/adapters/snowflake.adapter.ts +0 -347
- package/src/mcp/adapters/snyk.adapter.ts +0 -394
- package/src/mcp/adapters/splunk.adapter.ts +0 -403
- package/src/mcp/adapters/square.adapter.ts +0 -467
- package/src/mcp/adapters/statuspage.adapter.ts +0 -401
- package/src/mcp/adapters/stripe.adapter.ts +0 -380
- package/src/mcp/adapters/supabase.adapter.ts +0 -334
- package/src/mcp/adapters/teamwork.adapter.ts +0 -404
- package/src/mcp/adapters/telegram.adapter.ts +0 -299
- package/src/mcp/adapters/terraform.adapter.ts +0 -300
- package/src/mcp/adapters/todoist.adapter.ts +0 -239
- package/src/mcp/adapters/trello.adapter.ts +0 -316
- package/src/mcp/adapters/twilio.adapter.ts +0 -233
- package/src/mcp/adapters/twitter.adapter.ts +0 -348
- package/src/mcp/adapters/vercel.adapter.ts +0 -219
- package/src/mcp/adapters/weaviate.adapter.ts +0 -371
- package/src/mcp/adapters/webex.adapter.ts +0 -237
- package/src/mcp/adapters/webflow.adapter.ts +0 -287
- package/src/mcp/adapters/whatsapp.adapter.ts +0 -273
- package/src/mcp/adapters/whereby.adapter.ts +0 -240
- package/src/mcp/adapters/woocommerce.adapter.ts +0 -454
- package/src/mcp/adapters/wordpress.adapter.ts +0 -455
- package/src/mcp/adapters/workday.adapter.ts +0 -354
- package/src/mcp/adapters/wrike.adapter.ts +0 -349
- package/src/mcp/adapters/xero.adapter.ts +0 -472
- package/src/mcp/adapters/youtube.adapter.ts +0 -401
- package/src/mcp/adapters/zendesk.adapter.ts +0 -399
- package/src/mcp/adapters/zoho-crm.adapter.ts +0 -410
- package/src/mcp/adapters/zoom.adapter.ts +0 -241
- package/src/mcp/adapters/zuora.adapter.ts +0 -476
- package/src/mcp/framework/api-executor.ts +0 -192
- package/src/mcp/framework/aws-sigv4.ts +0 -216
- package/src/mcp/framework/credential-resolver.ts +0 -128
- package/src/mcp/framework/oauth-token-manager.ts +0 -22
- package/src/mcp/framework/skill-mcp-framework.ts +0 -226
- package/src/mcp/framework/types.ts +0 -130
- package/src/mcp/index.ts +0 -124
- package/src/mcp/integration-catalog.ts +0 -178
- package/src/middleware/dns-rebinding.ts +0 -44
- package/src/middleware/egress-filter.ts +0 -104
- package/src/middleware/firewall.ts +0 -192
- package/src/middleware/geo-ip.ts +0 -156
- package/src/middleware/index.ts +0 -390
- package/src/middleware/network-config.ts +0 -90
- package/src/middleware/proxy-config.ts +0 -71
- package/src/middleware/request-limits.ts +0 -59
- package/src/middleware/transport-encryption.ts +0 -398
- package/src/registry/cli.ts +0 -63
- package/src/registry/server.ts +0 -504
- package/src/runtime/agent-loop.ts +0 -779
- package/src/runtime/compaction.ts +0 -638
- package/src/runtime/email-channel.ts +0 -120
- package/src/runtime/environment.ts +0 -300
- package/src/runtime/followup.ts +0 -211
- package/src/runtime/gateway.ts +0 -260
- package/src/runtime/hooks.ts +0 -564
- package/src/runtime/index.ts +0 -1110
- package/src/runtime/llm-client.ts +0 -1056
- package/src/runtime/model-router.ts +0 -97
- package/src/runtime/providers.ts +0 -228
- package/src/runtime/session-manager.ts +0 -345
- package/src/runtime/subagent.ts +0 -153
- package/src/runtime/tool-executor.ts +0 -208
- package/src/runtime/types.ts +0 -255
- package/src/security/brute-force.ts +0 -423
- package/src/security/config.ts +0 -159
- package/src/security/csp.ts +0 -407
- package/src/security/external-content.ts +0 -299
- package/src/security/index.ts +0 -557
- package/src/security/input-sanitizer.ts +0 -452
- package/src/security/output-filter.ts +0 -575
- package/src/security/port-scanner.ts +0 -342
- package/src/security/prompt-guard.ts +0 -387
- package/src/security/sql-guard.ts +0 -338
- package/src/security/threat-logger.ts +0 -484
- package/src/server.ts +0 -828
- package/src/setup/company.ts +0 -183
- package/src/setup/database.ts +0 -153
- package/src/setup/deployment.ts +0 -561
- package/src/setup/domain.ts +0 -112
- package/src/setup/index.ts +0 -171
- package/src/setup/provision.ts +0 -532
- package/src/setup/registration.ts +0 -302
- package/src/system-prompts/catchup.ts +0 -48
- package/src/system-prompts/google/calendar.ts +0 -37
- package/src/system-prompts/google/chat.ts +0 -92
- package/src/system-prompts/google/contacts.ts +0 -25
- package/src/system-prompts/google/docs.ts +0 -29
- package/src/system-prompts/google/drive.ts +0 -34
- package/src/system-prompts/google/forms.ts +0 -25
- package/src/system-prompts/google/gmail.ts +0 -50
- package/src/system-prompts/google/index.ts +0 -23
- package/src/system-prompts/google/maps.ts +0 -20
- package/src/system-prompts/google/meet.ts +0 -130
- package/src/system-prompts/google/sheets.ts +0 -32
- package/src/system-prompts/google/slides.ts +0 -26
- package/src/system-prompts/google/tasks.ts +0 -27
- package/src/system-prompts/index.ts +0 -88
- package/src/system-prompts/microsoft/contacts.ts +0 -34
- package/src/system-prompts/microsoft/excel.ts +0 -52
- package/src/system-prompts/microsoft/index.ts +0 -31
- package/src/system-prompts/microsoft/onedrive.ts +0 -41
- package/src/system-prompts/microsoft/onenote.ts +0 -36
- package/src/system-prompts/microsoft/outlook-calendar.ts +0 -37
- package/src/system-prompts/microsoft/outlook-mail.ts +0 -46
- package/src/system-prompts/microsoft/planner.ts +0 -37
- package/src/system-prompts/microsoft/powerbi.ts +0 -38
- package/src/system-prompts/microsoft/powerpoint.ts +0 -35
- package/src/system-prompts/microsoft/sharepoint.ts +0 -44
- package/src/system-prompts/microsoft/teams.ts +0 -49
- package/src/system-prompts/microsoft/todo.ts +0 -37
- package/src/system-prompts/shared-blocks.ts +0 -87
- package/src/system-prompts/task.ts +0 -21
- package/src/system-prompts/triage.ts +0 -34
- package/src/types/hono-env.ts +0 -18
- package/src/types/optional-deps.d.ts +0 -10
- /package/{src → dist}/dashboard/HELP-TOOLTIPS-GUIDE.md +0 -0
|
@@ -1,806 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agent Memory Manager -- Persistent Memory & Learning System
|
|
3
|
-
*
|
|
4
|
-
* Provides growing, persistent memory for AI agents that evolves over time,
|
|
5
|
-
* similar to how human employees learn and adapt in an organization.
|
|
6
|
-
*
|
|
7
|
-
* Features:
|
|
8
|
-
* - Category-based memory organization (org_knowledge, interaction_pattern, preference, correction, skill, context, reflection)
|
|
9
|
-
* - Importance levels (critical, high, normal, low)
|
|
10
|
-
* - Confidence scores that decay over time for unaccessed entries
|
|
11
|
-
* - Access tracking for frequently used knowledge
|
|
12
|
-
* - Context generation for injection into agent prompts
|
|
13
|
-
* - Pruning of expired/low-confidence entries
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
import type { EngineDatabase } from './db-adapter.js';
|
|
17
|
-
import { MemorySearchIndex } from '../lib/text-search.js';
|
|
18
|
-
|
|
19
|
-
function sj(v: string|null|undefined, fb: any = {}): any { if(!v) return fb; try { return JSON.parse(v); } catch { return fb; } }
|
|
20
|
-
// ─── Types ──────────────────────────────────────────────
|
|
21
|
-
|
|
22
|
-
export type MemoryCategory =
|
|
23
|
-
| 'org_knowledge'
|
|
24
|
-
| 'interaction_pattern'
|
|
25
|
-
| 'preference'
|
|
26
|
-
| 'correction'
|
|
27
|
-
| 'skill'
|
|
28
|
-
| 'context'
|
|
29
|
-
| 'reflection'
|
|
30
|
-
| 'session_learning'
|
|
31
|
-
| 'system_notice';
|
|
32
|
-
|
|
33
|
-
export type MemoryImportance = 'critical' | 'high' | 'normal' | 'low';
|
|
34
|
-
|
|
35
|
-
export type MemorySource =
|
|
36
|
-
| 'onboarding'
|
|
37
|
-
| 'interaction'
|
|
38
|
-
| 'admin'
|
|
39
|
-
| 'self_reflection'
|
|
40
|
-
| 'correction'
|
|
41
|
-
| 'system'
|
|
42
|
-
| 'context_compaction'
|
|
43
|
-
| 'mcp_server_deletion'
|
|
44
|
-
| 'transfer';
|
|
45
|
-
|
|
46
|
-
export const MEMORY_CATEGORIES: Record<MemoryCategory, { label: string; description: string }> = {
|
|
47
|
-
org_knowledge: {
|
|
48
|
-
label: 'Organization Knowledge',
|
|
49
|
-
description: 'Policies, procedures, and organizational information',
|
|
50
|
-
},
|
|
51
|
-
interaction_pattern: {
|
|
52
|
-
label: 'Interaction Patterns',
|
|
53
|
-
description: 'Learned patterns from past interactions',
|
|
54
|
-
},
|
|
55
|
-
preference: {
|
|
56
|
-
label: 'Preferences',
|
|
57
|
-
description: 'User and organizational preferences',
|
|
58
|
-
},
|
|
59
|
-
correction: {
|
|
60
|
-
label: 'Corrections',
|
|
61
|
-
description: 'Corrections and feedback received',
|
|
62
|
-
},
|
|
63
|
-
skill: {
|
|
64
|
-
label: 'Skills',
|
|
65
|
-
description: 'Learned abilities and competencies',
|
|
66
|
-
},
|
|
67
|
-
context: {
|
|
68
|
-
label: 'Context',
|
|
69
|
-
description: 'Contextual information and background knowledge',
|
|
70
|
-
},
|
|
71
|
-
reflection: {
|
|
72
|
-
label: 'Reflections',
|
|
73
|
-
description: 'Self-reflective insights and learnings',
|
|
74
|
-
},
|
|
75
|
-
session_learning: {
|
|
76
|
-
label: 'Session Learnings',
|
|
77
|
-
description: 'Insights captured during conversation sessions',
|
|
78
|
-
},
|
|
79
|
-
system_notice: {
|
|
80
|
-
label: 'System Notices',
|
|
81
|
-
description: 'System-generated notifications about configuration changes',
|
|
82
|
-
},
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
export interface AgentMemoryEntry {
|
|
86
|
-
id: string;
|
|
87
|
-
agentId: string;
|
|
88
|
-
orgId: string;
|
|
89
|
-
category: MemoryCategory;
|
|
90
|
-
title: string;
|
|
91
|
-
content: string;
|
|
92
|
-
source: MemorySource;
|
|
93
|
-
importance: MemoryImportance;
|
|
94
|
-
confidence: number; // 0.0-1.0
|
|
95
|
-
accessCount: number;
|
|
96
|
-
lastAccessedAt?: string;
|
|
97
|
-
expiresAt?: string;
|
|
98
|
-
tags: string[];
|
|
99
|
-
metadata: Record<string, any>;
|
|
100
|
-
createdAt: string;
|
|
101
|
-
updatedAt: string;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
export interface MemoryStats {
|
|
105
|
-
totalEntries: number;
|
|
106
|
-
byCategory: Record<string, number>;
|
|
107
|
-
byImportance: Record<string, number>;
|
|
108
|
-
bySource: Record<string, number>;
|
|
109
|
-
avgConfidence: number;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/** Input shape for createMemory — id, timestamps, accessCount, and some fields have defaults. */
|
|
113
|
-
export type CreateMemoryInput = Omit<AgentMemoryEntry, 'id' | 'createdAt' | 'updatedAt' | 'accessCount' | 'confidence' | 'tags' | 'metadata' | 'lastAccessedAt' | 'expiresAt'> & {
|
|
114
|
-
confidence?: number;
|
|
115
|
-
tags?: string[];
|
|
116
|
-
metadata?: Record<string, any>;
|
|
117
|
-
lastAccessedAt?: string;
|
|
118
|
-
expiresAt?: string;
|
|
119
|
-
};
|
|
120
|
-
|
|
121
|
-
/** Input shape for updateMemory — partial updates merged with existing entry. */
|
|
122
|
-
export type UpdateMemoryInput = Partial<Omit<AgentMemoryEntry, 'id' | 'agentId' | 'orgId' | 'createdAt'>>;
|
|
123
|
-
|
|
124
|
-
/** Query options for filtering memory entries. */
|
|
125
|
-
export interface MemoryQueryOptions {
|
|
126
|
-
agentId: string;
|
|
127
|
-
category?: string;
|
|
128
|
-
importance?: string;
|
|
129
|
-
source?: string;
|
|
130
|
-
query?: string;
|
|
131
|
-
limit?: number;
|
|
132
|
-
sortBy?: string;
|
|
133
|
-
order?: 'asc' | 'desc';
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/** Minimal policy shape expected by createFromPolicy (matches OrgPolicy fields used). */
|
|
137
|
-
export interface PolicyForMemory {
|
|
138
|
-
id: string;
|
|
139
|
-
orgId: string;
|
|
140
|
-
name: string;
|
|
141
|
-
category: string;
|
|
142
|
-
content: string;
|
|
143
|
-
enforcement: string;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
// ─── Importance Weight Map ──────────────────────────────
|
|
147
|
-
|
|
148
|
-
const IMPORTANCE_WEIGHT: Record<MemoryImportance, number> = {
|
|
149
|
-
critical: 4,
|
|
150
|
-
high: 3,
|
|
151
|
-
normal: 2,
|
|
152
|
-
low: 1,
|
|
153
|
-
};
|
|
154
|
-
|
|
155
|
-
// ─── BM25F Search Engine ─────────────────────────────────
|
|
156
|
-
// Imported from shared module: src/lib/text-search.ts
|
|
157
|
-
// Provides: MemorySearchIndex, tokenize, stem, stop words, field weights
|
|
158
|
-
|
|
159
|
-
// ─── Agent Memory Manager ───────────────────────────────
|
|
160
|
-
|
|
161
|
-
export class AgentMemoryManager {
|
|
162
|
-
private memories = new Map<string, AgentMemoryEntry>();
|
|
163
|
-
/** Per-agent index: agentId → Set of memory IDs for O(1) agent lookups */
|
|
164
|
-
private agentIndex = new Map<string, Set<string>>();
|
|
165
|
-
/** Full-text search index (BM25F + stemming + inverted index) */
|
|
166
|
-
private searchIndex = new MemorySearchIndex();
|
|
167
|
-
private engineDb?: EngineDatabase;
|
|
168
|
-
|
|
169
|
-
// ─── Database Lifecycle ─────────────────────────────
|
|
170
|
-
|
|
171
|
-
async setDb(db: EngineDatabase): Promise<void> {
|
|
172
|
-
this.engineDb = db;
|
|
173
|
-
await this.loadFromDb();
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
private async loadFromDb(): Promise<void> {
|
|
177
|
-
if (!this.engineDb) return;
|
|
178
|
-
try {
|
|
179
|
-
const rows = await this.engineDb.query<any>('SELECT * FROM agent_memory');
|
|
180
|
-
console.log(`[memory] Loaded ${rows.length} memories from DB`);
|
|
181
|
-
for (const r of rows) {
|
|
182
|
-
try {
|
|
183
|
-
const entry = this.rowToEntry(r);
|
|
184
|
-
this.memories.set(entry.id, entry);
|
|
185
|
-
this.indexAdd(entry.agentId, entry.id);
|
|
186
|
-
this.searchIndex.addDocument(entry.id, entry);
|
|
187
|
-
} catch (entryErr: any) {
|
|
188
|
-
console.warn(`[memory] Skipped entry ${r.id}: ${entryErr.message}`);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
} catch (loadErr: any) {
|
|
192
|
-
console.error('[memory] loadFromDb failed:', loadErr.message);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
/** Add a memory ID to the per-agent index. */
|
|
197
|
-
private indexAdd(agentId: string, memoryId: string): void {
|
|
198
|
-
let set = this.agentIndex.get(agentId);
|
|
199
|
-
if (!set) { set = new Set(); this.agentIndex.set(agentId, set); }
|
|
200
|
-
set.add(memoryId);
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
/** Remove a memory ID from the per-agent index. */
|
|
204
|
-
private indexRemove(agentId: string, memoryId: string): void {
|
|
205
|
-
const set = this.agentIndex.get(agentId);
|
|
206
|
-
if (set) { set.delete(memoryId); if (set.size === 0) this.agentIndex.delete(agentId); }
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
/** Get all memory entries for an agent via the index — O(n) where n is that agent's entries, not total. */
|
|
210
|
-
private getAgentMemories(agentId: string): AgentMemoryEntry[] {
|
|
211
|
-
const ids = this.agentIndex.get(agentId);
|
|
212
|
-
if (!ids || ids.size === 0) return [];
|
|
213
|
-
const result: AgentMemoryEntry[] = [];
|
|
214
|
-
for (const id of ids) {
|
|
215
|
-
const entry = this.memories.get(id);
|
|
216
|
-
if (entry) result.push(entry);
|
|
217
|
-
}
|
|
218
|
-
return result;
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
// ─── Convenience Methods ─────────────────────────────
|
|
222
|
-
|
|
223
|
-
/**
|
|
224
|
-
* Convenience method for storing a memory with minimal input.
|
|
225
|
-
* Handles the common case where you just want to store a piece of text.
|
|
226
|
-
*/
|
|
227
|
-
async storeMemory(agentId: string, opts: {
|
|
228
|
-
content: string;
|
|
229
|
-
category?: string;
|
|
230
|
-
importance?: string;
|
|
231
|
-
confidence?: number;
|
|
232
|
-
title?: string;
|
|
233
|
-
orgId?: string;
|
|
234
|
-
}): Promise<AgentMemoryEntry> {
|
|
235
|
-
return this.createMemory({
|
|
236
|
-
agentId,
|
|
237
|
-
orgId: opts.orgId || 'default',
|
|
238
|
-
content: opts.content,
|
|
239
|
-
category: (opts.category || 'general') as any,
|
|
240
|
-
importance: (opts.importance || 'normal') as any,
|
|
241
|
-
confidence: opts.confidence ?? 1.0,
|
|
242
|
-
title: opts.title || '',
|
|
243
|
-
source: 'system',
|
|
244
|
-
tags: [],
|
|
245
|
-
metadata: {},
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
/**
|
|
250
|
-
* Convenience method for searching memories by text query.
|
|
251
|
-
* Returns matching entries sorted by relevance.
|
|
252
|
-
*/
|
|
253
|
-
async recall(agentId: string, query: string, limit: number = 5): Promise<AgentMemoryEntry[]> {
|
|
254
|
-
return this.queryMemories({ agentId, query, limit });
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
// ─── CRUD Operations ────────────────────────────────
|
|
258
|
-
|
|
259
|
-
/**
|
|
260
|
-
* Creates a new memory entry with auto-generated id and timestamps.
|
|
261
|
-
* Persists to both the in-memory Map and the database.
|
|
262
|
-
*/
|
|
263
|
-
async createMemory(input: CreateMemoryInput): Promise<AgentMemoryEntry> {
|
|
264
|
-
const now = new Date().toISOString();
|
|
265
|
-
const entry: AgentMemoryEntry = {
|
|
266
|
-
...input,
|
|
267
|
-
confidence: input.confidence ?? 0.8,
|
|
268
|
-
tags: input.tags ?? [],
|
|
269
|
-
metadata: input.metadata ?? {},
|
|
270
|
-
id: crypto.randomUUID(),
|
|
271
|
-
accessCount: 0,
|
|
272
|
-
createdAt: now,
|
|
273
|
-
updatedAt: now,
|
|
274
|
-
};
|
|
275
|
-
|
|
276
|
-
this.memories.set(entry.id, entry);
|
|
277
|
-
this.indexAdd(entry.agentId, entry.id);
|
|
278
|
-
this.searchIndex.addDocument(entry.id, entry);
|
|
279
|
-
|
|
280
|
-
await this.engineDb?.execute(
|
|
281
|
-
`INSERT INTO agent_memory (id, agent_id, org_id, category, title, content, source, importance, confidence, access_count, last_accessed_at, expires_at, tags, metadata, created_at, updated_at)
|
|
282
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,
|
|
283
|
-
[
|
|
284
|
-
entry.id, entry.agentId, entry.orgId, entry.category,
|
|
285
|
-
entry.title, entry.content, entry.source, entry.importance,
|
|
286
|
-
entry.confidence, entry.accessCount, entry.lastAccessedAt || null,
|
|
287
|
-
entry.expiresAt || null, JSON.stringify(entry.tags),
|
|
288
|
-
JSON.stringify(entry.metadata), entry.createdAt, entry.updatedAt,
|
|
289
|
-
]
|
|
290
|
-
).catch((err) => {
|
|
291
|
-
console.error('[agent-memory] Failed to persist memory entry:', err);
|
|
292
|
-
});
|
|
293
|
-
|
|
294
|
-
return entry;
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
/**
|
|
298
|
-
* Updates an existing memory entry by merging provided fields.
|
|
299
|
-
* Returns the updated entry or null if not found.
|
|
300
|
-
*/
|
|
301
|
-
async updateMemory(id: string, updates: UpdateMemoryInput): Promise<AgentMemoryEntry | null> {
|
|
302
|
-
const existing = this.memories.get(id);
|
|
303
|
-
if (!existing) return null;
|
|
304
|
-
|
|
305
|
-
const now = new Date().toISOString();
|
|
306
|
-
const updated: AgentMemoryEntry = {
|
|
307
|
-
...existing,
|
|
308
|
-
...updates,
|
|
309
|
-
id: existing.id,
|
|
310
|
-
agentId: existing.agentId,
|
|
311
|
-
orgId: existing.orgId,
|
|
312
|
-
createdAt: existing.createdAt,
|
|
313
|
-
updatedAt: now,
|
|
314
|
-
};
|
|
315
|
-
|
|
316
|
-
this.memories.set(id, updated);
|
|
317
|
-
|
|
318
|
-
// Re-index if text fields changed
|
|
319
|
-
if (updates.title !== undefined || updates.content !== undefined || updates.tags !== undefined) {
|
|
320
|
-
this.searchIndex.addDocument(id, updated);
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
await this.engineDb?.execute(
|
|
324
|
-
`UPDATE agent_memory SET
|
|
325
|
-
category = ?, title = ?, content = ?, source = ?,
|
|
326
|
-
importance = ?, confidence = ?, access_count = ?,
|
|
327
|
-
last_accessed_at = ?, expires_at = ?, tags = ?,
|
|
328
|
-
metadata = ?, updated_at = ?
|
|
329
|
-
WHERE id = ?`,
|
|
330
|
-
[
|
|
331
|
-
updated.category, updated.title, updated.content, updated.source,
|
|
332
|
-
updated.importance, updated.confidence, updated.accessCount,
|
|
333
|
-
updated.lastAccessedAt || null, updated.expiresAt || null,
|
|
334
|
-
JSON.stringify(updated.tags), JSON.stringify(updated.metadata),
|
|
335
|
-
updated.updatedAt, id,
|
|
336
|
-
]
|
|
337
|
-
).catch((err) => {
|
|
338
|
-
console.error('[agent-memory] Failed to update memory entry:', err);
|
|
339
|
-
});
|
|
340
|
-
|
|
341
|
-
return updated;
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
/**
|
|
345
|
-
* Deletes a memory entry from both the in-memory Map and the database.
|
|
346
|
-
* Returns true if the entry existed and was deleted.
|
|
347
|
-
*/
|
|
348
|
-
async deleteMemory(id: string): Promise<boolean> {
|
|
349
|
-
const entry = this.memories.get(id);
|
|
350
|
-
const existed = this.memories.delete(id);
|
|
351
|
-
if (entry) this.indexRemove(entry.agentId, id);
|
|
352
|
-
this.searchIndex.removeDocument(id);
|
|
353
|
-
|
|
354
|
-
await this.engineDb?.execute(
|
|
355
|
-
'DELETE FROM agent_memory WHERE id = ?',
|
|
356
|
-
[id]
|
|
357
|
-
).catch((err) => {
|
|
358
|
-
console.error('[agent-memory] Failed to delete memory entry:', err);
|
|
359
|
-
});
|
|
360
|
-
|
|
361
|
-
return existed;
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
/**
|
|
365
|
-
* Retrieves a single memory entry by id.
|
|
366
|
-
* Returns from the in-memory Map (async for interface compatibility).
|
|
367
|
-
*/
|
|
368
|
-
async getMemory(id: string): Promise<AgentMemoryEntry | undefined> {
|
|
369
|
-
return this.memories.get(id);
|
|
370
|
-
}
|
|
371
|
-
|
|
372
|
-
// ─── Query Operations ───────────────────────────────
|
|
373
|
-
|
|
374
|
-
/**
|
|
375
|
-
* Queries memory entries for a specific agent with optional filters.
|
|
376
|
-
* Supports filtering by category, importance, source, and text search on title/content.
|
|
377
|
-
*/
|
|
378
|
-
async queryMemories(opts: MemoryQueryOptions): Promise<AgentMemoryEntry[]> {
|
|
379
|
-
let results = this.getAgentMemories(opts.agentId);
|
|
380
|
-
|
|
381
|
-
// If in-memory is empty for this agent, try loading from DB (agent machine writes directly)
|
|
382
|
-
if (results.length === 0 && this.engineDb && opts.agentId) {
|
|
383
|
-
try {
|
|
384
|
-
const rows = await this.engineDb.query<any>(
|
|
385
|
-
'SELECT * FROM agent_memory WHERE agent_id = ?',
|
|
386
|
-
[opts.agentId]
|
|
387
|
-
);
|
|
388
|
-
console.log(`[memory] Lazy-loaded ${rows.length} memories for agent ${opts.agentId}`);
|
|
389
|
-
for (const r of rows) {
|
|
390
|
-
try {
|
|
391
|
-
const entry = this.rowToEntry(r);
|
|
392
|
-
this.memories.set(entry.id, entry);
|
|
393
|
-
this.indexAdd(entry.agentId, entry.id);
|
|
394
|
-
this.searchIndex.addDocument(entry.id, entry);
|
|
395
|
-
} catch {}
|
|
396
|
-
}
|
|
397
|
-
results = this.getAgentMemories(opts.agentId);
|
|
398
|
-
} catch (e: any) {
|
|
399
|
-
console.error('[memory] Lazy-load failed:', e.message);
|
|
400
|
-
}
|
|
401
|
-
}
|
|
402
|
-
|
|
403
|
-
if (opts.category) {
|
|
404
|
-
results = results.filter((m) => m.category === opts.category);
|
|
405
|
-
}
|
|
406
|
-
|
|
407
|
-
if (opts.importance) {
|
|
408
|
-
results = results.filter((m) => m.importance === opts.importance);
|
|
409
|
-
}
|
|
410
|
-
|
|
411
|
-
if (opts.source) {
|
|
412
|
-
results = results.filter((m) => m.source === opts.source);
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
if (opts.query) {
|
|
416
|
-
// Use the pre-built inverted index for BM25F search
|
|
417
|
-
const candidateIds = new Set(results.map((m) => m.id));
|
|
418
|
-
const searchResults = this.searchIndex.search(opts.query, candidateIds);
|
|
419
|
-
|
|
420
|
-
if (searchResults.length > 0) {
|
|
421
|
-
// Combine BM25F relevance with importance weight
|
|
422
|
-
const scored = searchResults
|
|
423
|
-
.map((r) => {
|
|
424
|
-
const entry = this.memories.get(r.id);
|
|
425
|
-
return entry ? { entry, score: r.score * IMPORTANCE_WEIGHT[entry.importance] } : null;
|
|
426
|
-
})
|
|
427
|
-
.filter((r): r is { entry: AgentMemoryEntry; score: number } => r !== null);
|
|
428
|
-
|
|
429
|
-
scored.sort((a, b) => b.score - a.score);
|
|
430
|
-
return scored.slice(0, opts.limit || 100).map((d) => d.entry);
|
|
431
|
-
}
|
|
432
|
-
}
|
|
433
|
-
|
|
434
|
-
// No query — sort by importance weight descending, then by creation date descending
|
|
435
|
-
results.sort((a, b) => {
|
|
436
|
-
const weightDiff = IMPORTANCE_WEIGHT[b.importance] - IMPORTANCE_WEIGHT[a.importance];
|
|
437
|
-
if (weightDiff !== 0) return weightDiff;
|
|
438
|
-
return new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime();
|
|
439
|
-
});
|
|
440
|
-
|
|
441
|
-
const limit = opts.limit || 100;
|
|
442
|
-
return results.slice(0, limit);
|
|
443
|
-
}
|
|
444
|
-
|
|
445
|
-
/**
|
|
446
|
-
* Returns memories created within the last N hours for an agent.
|
|
447
|
-
*/
|
|
448
|
-
async getRecentMemories(agentId: string, hours: number = 24): Promise<AgentMemoryEntry[]> {
|
|
449
|
-
const cutoff = new Date(Date.now() - hours * 3600_000).toISOString();
|
|
450
|
-
return this.getAgentMemories(agentId)
|
|
451
|
-
.filter((m) => m.createdAt >= cutoff)
|
|
452
|
-
.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
|
|
453
|
-
}
|
|
454
|
-
|
|
455
|
-
// ─── Access Tracking ────────────────────────────────
|
|
456
|
-
|
|
457
|
-
/**
|
|
458
|
-
* Increments the access count and updates lastAccessedAt for a memory entry.
|
|
459
|
-
* Used to track frequently referenced knowledge.
|
|
460
|
-
*/
|
|
461
|
-
async recordAccess(memoryId: string): Promise<void> {
|
|
462
|
-
const entry = this.memories.get(memoryId);
|
|
463
|
-
if (!entry) return;
|
|
464
|
-
|
|
465
|
-
const now = new Date().toISOString();
|
|
466
|
-
entry.accessCount += 1;
|
|
467
|
-
entry.lastAccessedAt = now;
|
|
468
|
-
entry.updatedAt = now;
|
|
469
|
-
|
|
470
|
-
await this.engineDb?.execute(
|
|
471
|
-
`UPDATE agent_memory SET access_count = ?, last_accessed_at = ?, updated_at = ? WHERE id = ?`,
|
|
472
|
-
[entry.accessCount, entry.lastAccessedAt, entry.updatedAt, memoryId]
|
|
473
|
-
).catch((err) => {
|
|
474
|
-
console.error('[agent-memory] Failed to record access:', err);
|
|
475
|
-
});
|
|
476
|
-
}
|
|
477
|
-
|
|
478
|
-
// ─── Context Generation ─────────────────────────────
|
|
479
|
-
|
|
480
|
-
/**
|
|
481
|
-
* Generates a markdown context string suitable for injection into an agent's system prompt.
|
|
482
|
-
*
|
|
483
|
-
* Ranking strategy:
|
|
484
|
-
* 1. Critical importance entries always come first
|
|
485
|
-
* 2. Remaining entries scored by: confidence * accessWeight * recencyWeight
|
|
486
|
-
* 3. If a query is provided, entries matching query terms get a relevance boost
|
|
487
|
-
* 4. Output is grouped by category with markdown headers
|
|
488
|
-
* 5. Truncated to maxTokens (estimated at ~4 chars per token)
|
|
489
|
-
*/
|
|
490
|
-
async generateMemoryContext(
|
|
491
|
-
agentId: string,
|
|
492
|
-
query?: string,
|
|
493
|
-
maxTokens: number = 1500,
|
|
494
|
-
): Promise<string> {
|
|
495
|
-
const entries = this.getAgentMemories(agentId)
|
|
496
|
-
.filter((m) => m.confidence >= 0.1);
|
|
497
|
-
|
|
498
|
-
if (entries.length === 0) return '';
|
|
499
|
-
|
|
500
|
-
const now = Date.now();
|
|
501
|
-
|
|
502
|
-
// Pre-compute BM25F relevance scores via the inverted index if query provided
|
|
503
|
-
let relevanceMap: Map<string, number> | undefined;
|
|
504
|
-
if (query) {
|
|
505
|
-
const candidateIds = new Set(entries.map((e) => e.id));
|
|
506
|
-
const searchResults = this.searchIndex.search(query, candidateIds);
|
|
507
|
-
if (searchResults.length > 0) {
|
|
508
|
-
relevanceMap = new Map();
|
|
509
|
-
// Normalize scores: divide by max so top result = 1.0
|
|
510
|
-
const maxScore = searchResults[0].score;
|
|
511
|
-
for (const r of searchResults) {
|
|
512
|
-
relevanceMap.set(r.id, maxScore > 0 ? r.score / maxScore : 0);
|
|
513
|
-
}
|
|
514
|
-
}
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
// Score each entry for ranking: combines recency, access, confidence, importance, and BM25F relevance
|
|
518
|
-
const scored = entries.map((entry) => {
|
|
519
|
-
// Access weight: logarithmic scaling of access count
|
|
520
|
-
const accessWeight = 1 + Math.log1p(entry.accessCount) * 0.3;
|
|
521
|
-
|
|
522
|
-
// Recency weight: entries accessed/created more recently score higher
|
|
523
|
-
const lastTouch = entry.lastAccessedAt || entry.createdAt;
|
|
524
|
-
const ageHours = Math.max(1, (now - new Date(lastTouch).getTime()) / 3600_000);
|
|
525
|
-
const recencyWeight = 1 / (1 + Math.log1p(ageHours / 24) * 0.2);
|
|
526
|
-
|
|
527
|
-
// Base score from confidence, access weight, and recency
|
|
528
|
-
let score = entry.confidence * accessWeight * recencyWeight;
|
|
529
|
-
|
|
530
|
-
// Importance multiplier
|
|
531
|
-
score *= IMPORTANCE_WEIGHT[entry.importance];
|
|
532
|
-
|
|
533
|
-
// BM25F query relevance boost (from pre-built inverted index)
|
|
534
|
-
if (relevanceMap) {
|
|
535
|
-
const relevance = relevanceMap.get(entry.id) || 0;
|
|
536
|
-
if (relevance > 0) {
|
|
537
|
-
// Normalized relevance (0–1) → multiplier (1x–4x boost)
|
|
538
|
-
score *= 1 + relevance * 3;
|
|
539
|
-
}
|
|
540
|
-
}
|
|
541
|
-
|
|
542
|
-
return { entry, score };
|
|
543
|
-
});
|
|
544
|
-
|
|
545
|
-
// Sort by score descending
|
|
546
|
-
scored.sort((a, b) => b.score - a.score);
|
|
547
|
-
|
|
548
|
-
// Group by category preserving score order
|
|
549
|
-
const grouped = new Map<MemoryCategory, AgentMemoryEntry[]>();
|
|
550
|
-
for (const { entry } of scored) {
|
|
551
|
-
const group = grouped.get(entry.category) || [];
|
|
552
|
-
group.push(entry);
|
|
553
|
-
grouped.set(entry.category, group);
|
|
554
|
-
}
|
|
555
|
-
|
|
556
|
-
// Build markdown output
|
|
557
|
-
const maxChars = maxTokens * 4;
|
|
558
|
-
const lines: string[] = ['## Agent Memory', ''];
|
|
559
|
-
let charCount = lines.join('\n').length;
|
|
560
|
-
|
|
561
|
-
for (const [category, categoryEntries] of Array.from(grouped.entries())) {
|
|
562
|
-
const meta = MEMORY_CATEGORIES[category];
|
|
563
|
-
if (!meta) continue;
|
|
564
|
-
|
|
565
|
-
const header = `### ${meta.label}`;
|
|
566
|
-
if (charCount + header.length + 2 > maxChars) break;
|
|
567
|
-
|
|
568
|
-
lines.push(header);
|
|
569
|
-
lines.push('');
|
|
570
|
-
charCount += header.length + 2;
|
|
571
|
-
|
|
572
|
-
for (const entry of categoryEntries) {
|
|
573
|
-
const badge = entry.importance === 'critical' ? '[CRITICAL] '
|
|
574
|
-
: entry.importance === 'high' ? '[HIGH] '
|
|
575
|
-
: '';
|
|
576
|
-
const entryLine = `- **${badge}${entry.title}**: ${entry.content}`;
|
|
577
|
-
|
|
578
|
-
if (charCount + entryLine.length + 1 > maxChars) break;
|
|
579
|
-
|
|
580
|
-
lines.push(entryLine);
|
|
581
|
-
charCount += entryLine.length + 1;
|
|
582
|
-
}
|
|
583
|
-
|
|
584
|
-
lines.push('');
|
|
585
|
-
charCount += 1;
|
|
586
|
-
}
|
|
587
|
-
|
|
588
|
-
return lines.join('\n').trim();
|
|
589
|
-
}
|
|
590
|
-
|
|
591
|
-
// ─── Memory Lifecycle ───────────────────────────────
|
|
592
|
-
|
|
593
|
-
/**
|
|
594
|
-
* Decays confidence scores for entries that have not been accessed in 7+ days.
|
|
595
|
-
* Critical importance entries are exempt from decay.
|
|
596
|
-
*
|
|
597
|
-
* @param agentId - The agent whose memories to decay
|
|
598
|
-
* @param decayRate - How much to reduce confidence (default 0.05)
|
|
599
|
-
* @returns Number of entries that were decayed
|
|
600
|
-
*/
|
|
601
|
-
async decayConfidence(agentId: string, decayRate: number = 0.05): Promise<number> {
|
|
602
|
-
const cutoff = new Date(Date.now() - 7 * 86_400_000).toISOString();
|
|
603
|
-
const now = new Date().toISOString();
|
|
604
|
-
const decayed: { id: string; confidence: number }[] = [];
|
|
605
|
-
|
|
606
|
-
for (const entry of this.getAgentMemories(agentId)) {
|
|
607
|
-
if (entry.importance === 'critical') continue;
|
|
608
|
-
|
|
609
|
-
const lastTouch = entry.lastAccessedAt || entry.createdAt;
|
|
610
|
-
if (lastTouch >= cutoff) continue;
|
|
611
|
-
|
|
612
|
-
const newConfidence = Math.max(0, entry.confidence - decayRate);
|
|
613
|
-
if (newConfidence === entry.confidence) continue;
|
|
614
|
-
|
|
615
|
-
entry.confidence = parseFloat(newConfidence.toFixed(4));
|
|
616
|
-
entry.updatedAt = now;
|
|
617
|
-
decayed.push({ id: entry.id, confidence: entry.confidence });
|
|
618
|
-
}
|
|
619
|
-
|
|
620
|
-
// Batch DB update — single statement per entry but without await-per-row overhead
|
|
621
|
-
if (decayed.length > 0 && this.engineDb) {
|
|
622
|
-
await Promise.all(
|
|
623
|
-
decayed.map((d) =>
|
|
624
|
-
this.engineDb!.execute(
|
|
625
|
-
'UPDATE agent_memory SET confidence = ?, updated_at = ? WHERE id = ?',
|
|
626
|
-
[d.confidence, now, d.id]
|
|
627
|
-
).catch((err) => console.error('[agent-memory] Failed to decay confidence:', err))
|
|
628
|
-
)
|
|
629
|
-
);
|
|
630
|
-
}
|
|
631
|
-
|
|
632
|
-
return decayed.length;
|
|
633
|
-
}
|
|
634
|
-
|
|
635
|
-
/**
|
|
636
|
-
* Prunes (deletes) memory entries that are expired or have very low confidence.
|
|
637
|
-
* An entry is pruned if:
|
|
638
|
-
* - confidence < 0.1, OR
|
|
639
|
-
* - expiresAt is set and has passed
|
|
640
|
-
*
|
|
641
|
-
* @param agentId - Optional: limit pruning to a specific agent. If omitted, prunes all.
|
|
642
|
-
* @returns Number of entries pruned
|
|
643
|
-
*/
|
|
644
|
-
async pruneExpired(agentId?: string): Promise<number> {
|
|
645
|
-
const now = new Date().toISOString();
|
|
646
|
-
const toDelete: { id: string; agentId: string }[] = [];
|
|
647
|
-
|
|
648
|
-
const entries = agentId
|
|
649
|
-
? this.getAgentMemories(agentId)
|
|
650
|
-
: Array.from(this.memories.values());
|
|
651
|
-
|
|
652
|
-
for (const entry of entries) {
|
|
653
|
-
const isLowConfidence = entry.confidence < 0.1;
|
|
654
|
-
const isExpired = entry.expiresAt && entry.expiresAt <= now;
|
|
655
|
-
|
|
656
|
-
if (isLowConfidence || isExpired) {
|
|
657
|
-
toDelete.push({ id: entry.id, agentId: entry.agentId });
|
|
658
|
-
}
|
|
659
|
-
}
|
|
660
|
-
|
|
661
|
-
// Delete from Map + agent index + search index
|
|
662
|
-
for (const item of toDelete) {
|
|
663
|
-
this.memories.delete(item.id);
|
|
664
|
-
this.indexRemove(item.agentId, item.id);
|
|
665
|
-
this.searchIndex.removeDocument(item.id);
|
|
666
|
-
}
|
|
667
|
-
|
|
668
|
-
// Batch DB deletes
|
|
669
|
-
if (toDelete.length > 0 && this.engineDb) {
|
|
670
|
-
await Promise.all(
|
|
671
|
-
toDelete.map((item) =>
|
|
672
|
-
this.engineDb!.execute('DELETE FROM agent_memory WHERE id = ?', [item.id])
|
|
673
|
-
.catch((err) => console.error('[agent-memory] Failed to prune memory entry:', err))
|
|
674
|
-
)
|
|
675
|
-
);
|
|
676
|
-
}
|
|
677
|
-
|
|
678
|
-
return toDelete.length;
|
|
679
|
-
}
|
|
680
|
-
|
|
681
|
-
// ─── Statistics ─────────────────────────────────────
|
|
682
|
-
|
|
683
|
-
/**
|
|
684
|
-
* Returns aggregate statistics for a specific agent's memory entries.
|
|
685
|
-
*/
|
|
686
|
-
async getStats(agentId: string): Promise<MemoryStats> {
|
|
687
|
-
let entries = this.getAgentMemories(agentId);
|
|
688
|
-
// Lazy-load from DB if in-memory is empty
|
|
689
|
-
if (entries.length === 0 && this.engineDb) {
|
|
690
|
-
await this.queryMemories({ agentId, limit: 1000 }); // triggers DB load
|
|
691
|
-
entries = this.getAgentMemories(agentId);
|
|
692
|
-
}
|
|
693
|
-
return this.computeStats(entries);
|
|
694
|
-
}
|
|
695
|
-
|
|
696
|
-
/**
|
|
697
|
-
* Returns per-agent memory statistics for all agents in an organization.
|
|
698
|
-
*/
|
|
699
|
-
async getStatsByOrg(orgId: string): Promise<Array<{ agentId: string; stats: MemoryStats }>> {
|
|
700
|
-
// Group entries by agentId for the given org
|
|
701
|
-
const agentMap = new Map<string, AgentMemoryEntry[]>();
|
|
702
|
-
|
|
703
|
-
for (const entry of this.memories.values()) {
|
|
704
|
-
if (entry.orgId !== orgId) continue;
|
|
705
|
-
const group = agentMap.get(entry.agentId) || [];
|
|
706
|
-
group.push(entry);
|
|
707
|
-
agentMap.set(entry.agentId, group);
|
|
708
|
-
}
|
|
709
|
-
|
|
710
|
-
const results: Array<{ agentId: string; stats: MemoryStats }> = [];
|
|
711
|
-
for (const [agentId, entries] of Array.from(agentMap.entries())) {
|
|
712
|
-
results.push({ agentId, stats: this.computeStats(entries) });
|
|
713
|
-
}
|
|
714
|
-
|
|
715
|
-
return results;
|
|
716
|
-
}
|
|
717
|
-
|
|
718
|
-
/**
|
|
719
|
-
* Computes statistics from a set of memory entries.
|
|
720
|
-
*/
|
|
721
|
-
private computeStats(entries: AgentMemoryEntry[]): MemoryStats {
|
|
722
|
-
const byCategory: Record<string, number> = {};
|
|
723
|
-
const byImportance: Record<string, number> = {};
|
|
724
|
-
const bySource: Record<string, number> = {};
|
|
725
|
-
let totalConfidence = 0;
|
|
726
|
-
|
|
727
|
-
for (const entry of entries) {
|
|
728
|
-
byCategory[entry.category] = (byCategory[entry.category] || 0) + 1;
|
|
729
|
-
byImportance[entry.importance] = (byImportance[entry.importance] || 0) + 1;
|
|
730
|
-
bySource[entry.source] = (bySource[entry.source] || 0) + 1;
|
|
731
|
-
totalConfidence += entry.confidence;
|
|
732
|
-
}
|
|
733
|
-
|
|
734
|
-
return {
|
|
735
|
-
totalEntries: entries.length,
|
|
736
|
-
byCategory,
|
|
737
|
-
byImportance,
|
|
738
|
-
bySource,
|
|
739
|
-
avgConfidence: entries.length > 0
|
|
740
|
-
? parseFloat((totalConfidence / entries.length).toFixed(4))
|
|
741
|
-
: 0,
|
|
742
|
-
};
|
|
743
|
-
}
|
|
744
|
-
|
|
745
|
-
// ─── Policy Integration ─────────────────────────────
|
|
746
|
-
|
|
747
|
-
/**
|
|
748
|
-
* Creates a memory entry from an organization policy.
|
|
749
|
-
* Used during onboarding to seed agent memory with policy knowledge.
|
|
750
|
-
*
|
|
751
|
-
* Importance is derived from policy enforcement level:
|
|
752
|
-
* - mandatory -> critical
|
|
753
|
-
* - recommended -> high
|
|
754
|
-
* - informational / other -> normal
|
|
755
|
-
*/
|
|
756
|
-
async createFromPolicy(agentId: string, policy: PolicyForMemory): Promise<AgentMemoryEntry> {
|
|
757
|
-
const importance: MemoryImportance =
|
|
758
|
-
policy.enforcement === 'mandatory' ? 'critical'
|
|
759
|
-
: policy.enforcement === 'recommended' ? 'high'
|
|
760
|
-
: 'normal';
|
|
761
|
-
|
|
762
|
-
return this.createMemory({
|
|
763
|
-
agentId,
|
|
764
|
-
orgId: policy.orgId,
|
|
765
|
-
category: 'org_knowledge',
|
|
766
|
-
title: policy.name,
|
|
767
|
-
content: policy.content,
|
|
768
|
-
source: 'onboarding',
|
|
769
|
-
importance,
|
|
770
|
-
confidence: 1.0,
|
|
771
|
-
lastAccessedAt: undefined,
|
|
772
|
-
expiresAt: undefined,
|
|
773
|
-
tags: ['policy', policy.category],
|
|
774
|
-
metadata: {
|
|
775
|
-
policyId: policy.id,
|
|
776
|
-
enforcement: policy.enforcement,
|
|
777
|
-
},
|
|
778
|
-
});
|
|
779
|
-
}
|
|
780
|
-
|
|
781
|
-
// ─── Row Mapper ─────────────────────────────────────
|
|
782
|
-
|
|
783
|
-
/**
|
|
784
|
-
* Converts a database row into an AgentMemoryEntry.
|
|
785
|
-
*/
|
|
786
|
-
private rowToEntry(row: any): AgentMemoryEntry {
|
|
787
|
-
return {
|
|
788
|
-
id: row.id,
|
|
789
|
-
agentId: row.agent_id,
|
|
790
|
-
orgId: row.org_id,
|
|
791
|
-
category: row.category as MemoryCategory,
|
|
792
|
-
title: row.title,
|
|
793
|
-
content: row.content,
|
|
794
|
-
source: row.source as MemorySource,
|
|
795
|
-
importance: row.importance as MemoryImportance,
|
|
796
|
-
confidence: row.confidence,
|
|
797
|
-
accessCount: row.access_count || 0,
|
|
798
|
-
lastAccessedAt: row.last_accessed_at || undefined,
|
|
799
|
-
expiresAt: row.expires_at || undefined,
|
|
800
|
-
tags: Array.isArray(row.tags) ? row.tags : (Array.isArray(sj(row.tags)) ? sj(row.tags) : []),
|
|
801
|
-
metadata: sj(row.metadata || '{}'),
|
|
802
|
-
createdAt: row.created_at,
|
|
803
|
-
updatedAt: row.updated_at,
|
|
804
|
-
};
|
|
805
|
-
}
|
|
806
|
-
}
|