@elevasis/core 0.7.1 → 0.8.0
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/package.json +1 -1
- package/src/README.md +41 -41
- package/src/__tests__/publish.test.ts +18 -18
- package/src/__tests__/{template-foundations-compatibility.test.ts → template-core-compatibility.test.ts} +99 -99
- package/src/_gen/__tests__/__snapshots__/contracts.md.snap +1135 -1131
- package/src/_gen/__tests__/scaffold-contracts.test.ts +53 -53
- package/src/_gen/scaffold-contracts.ts +45 -45
- package/src/auth/multi-tenancy/credentials/README.md +38 -38
- package/src/auth/multi-tenancy/credentials/index.ts +6 -6
- package/src/auth/multi-tenancy/credentials/server/encryption.ts +39 -39
- package/src/auth/multi-tenancy/credentials/server/service.ts +60 -60
- package/src/auth/multi-tenancy/index.ts +17 -17
- package/src/auth/multi-tenancy/invitations/api-schemas.ts +107 -107
- package/src/auth/multi-tenancy/invitations/index.ts +37 -37
- package/src/auth/multi-tenancy/invitations/invitation.ts +86 -86
- package/src/auth/multi-tenancy/invitations/server/index.ts +25 -25
- package/src/auth/multi-tenancy/invitations/server/transforms.ts +24 -24
- package/src/auth/multi-tenancy/invitations/server/workos.ts +24 -24
- package/src/auth/multi-tenancy/invitations/supabase.ts +50 -50
- package/src/auth/multi-tenancy/memberships/api-schemas.ts +126 -126
- package/src/auth/multi-tenancy/memberships/index.ts +21 -21
- package/src/auth/multi-tenancy/memberships/membership.ts +138 -138
- package/src/auth/multi-tenancy/memberships/server/index.ts +15 -15
- package/src/auth/multi-tenancy/memberships/server/transforms.ts +32 -32
- package/src/auth/multi-tenancy/memberships/server/workos.ts +21 -21
- package/src/auth/multi-tenancy/memberships/supabase.ts +46 -46
- package/src/auth/multi-tenancy/organizations/api-schemas.ts +128 -128
- package/src/auth/multi-tenancy/organizations/index.ts +23 -23
- package/src/auth/multi-tenancy/organizations/organization.ts +24 -24
- package/src/auth/multi-tenancy/organizations/server/index.ts +10 -10
- package/src/auth/multi-tenancy/organizations/server/transforms.ts +35 -35
- package/src/auth/multi-tenancy/organizations/server/workos.ts +20 -20
- package/src/auth/multi-tenancy/types.ts +83 -83
- package/src/auth/multi-tenancy/users/api-schemas.ts +194 -194
- package/src/auth/multi-tenancy/users/index.ts +27 -27
- package/src/auth/multi-tenancy/users/server/index.ts +19 -19
- package/src/auth/multi-tenancy/users/server/transforms.ts +21 -21
- package/src/auth/multi-tenancy/users/server/workos.ts +16 -16
- package/src/auth/multi-tenancy/users/user.ts +65 -65
- package/src/business/README.md +52 -52
- package/src/business/__tests__/entities-published.test.ts +33 -33
- package/src/business/acquisition/api-schemas.ts +759 -759
- package/src/business/acquisition/index.ts +109 -109
- package/src/business/acquisition/types.ts +402 -402
- package/src/business/base-entities.test.ts +481 -481
- package/src/business/base-entities.ts +241 -241
- package/src/business/entities-published.ts +24 -24
- package/src/business/index.ts +15 -15
- package/src/business/pdf/browser/pdfmake-browser.ts +229 -229
- package/src/business/pdf/index.ts +10 -10
- package/src/business/pdf/server/index.ts +21 -21
- package/src/business/pdf/server/themes/default.ts +8 -8
- package/src/business/pdf/server/themes/index.ts +9 -9
- package/src/business/pdf/server/themes/types.ts +8 -8
- package/src/business/pdf/types.ts +272 -272
- package/src/business/projects/index.ts +2 -2
- package/src/business/projects/sse-events.ts +21 -21
- package/src/business/projects/types.ts +89 -89
- package/src/business/sales/api-schemas.ts +75 -75
- package/src/business/seo/__tests__/linking.test.ts +549 -549
- package/src/business/seo/__tests__/types.test.ts +404 -404
- package/src/business/seo/index.ts +2 -2
- package/src/business/seo/linking.ts +281 -281
- package/src/business/seo/types.ts +199 -199
- package/src/commands/queue/index.ts +3 -3
- package/src/commands/queue/schemas.test.ts +593 -593
- package/src/commands/queue/schemas.ts +125 -125
- package/src/commands/queue/sse-events.ts +61 -61
- package/src/commands/queue/types/action.ts +52 -52
- package/src/commands/queue/types/checkpoint.ts +44 -44
- package/src/commands/queue/types/index.ts +7 -7
- package/src/commands/queue/types/task.ts +116 -116
- package/src/commands/queue/types.ts +14 -14
- package/src/content/distribution-metadata.ts +61 -61
- package/src/content/index.ts +10 -10
- package/src/deployments/index.ts +22 -22
- package/src/execution/core/__tests__/archived-logs.test.ts +72 -72
- package/src/execution/core/index.ts +11 -11
- package/src/execution/core/runner-types.ts +80 -80
- package/src/execution/core/server/environment.ts +31 -31
- package/src/execution/core/sse-executions.ts +119 -119
- package/src/execution/core/types.ts +29 -29
- package/src/execution/engine/__tests__/fixtures/test-agents.ts +4 -4
- package/src/execution/engine/__tests__/timeout.test.ts +565 -565
- package/src/execution/engine/agent/__tests__/errors.test.ts +508 -508
- package/src/execution/engine/agent/actions/__tests__/processor.test.ts +531 -531
- package/src/execution/engine/agent/actions/executor.ts +205 -205
- package/src/execution/engine/agent/actions/navigate-knowledge-executor.ts +230 -230
- package/src/execution/engine/agent/actions/processor.ts +116 -116
- package/src/execution/engine/agent/actions/types.ts +70 -70
- package/src/execution/engine/agent/core/agent.ts +810 -810
- package/src/execution/engine/agent/core/types.ts +155 -155
- package/src/execution/engine/agent/errors.ts +251 -251
- package/src/execution/engine/agent/index.ts +78 -78
- package/src/execution/engine/agent/knowledge-map/types.ts +106 -106
- package/src/execution/engine/agent/knowledge-map/utils.ts +101 -101
- package/src/execution/engine/agent/memory/__tests__/manager.test.ts +754 -754
- package/src/execution/engine/agent/memory/domains.ts +99 -99
- package/src/execution/engine/agent/memory/manager.ts +365 -365
- package/src/execution/engine/agent/memory/processor.ts +66 -66
- package/src/execution/engine/agent/memory/types.ts +90 -90
- package/src/execution/engine/agent/memory/utils.ts +134 -134
- package/src/execution/engine/agent/observability/logging.ts +467 -467
- package/src/execution/engine/agent/observability/types.ts +64 -64
- package/src/execution/engine/agent/reasoning/adapters/agent-adapter-helpers.ts +349 -349
- package/src/execution/engine/agent/reasoning/processor.ts +92 -92
- package/src/execution/engine/agent/reasoning/prompt-sections/base-actions.ts +134 -134
- package/src/execution/engine/agent/reasoning/prompt-sections/completion.ts +49 -49
- package/src/execution/engine/agent/reasoning/prompt-sections/knowledge-map.ts +93 -93
- package/src/execution/engine/agent/reasoning/prompt-sections/memory.ts +65 -65
- package/src/execution/engine/agent/reasoning/prompt-sections/tools.ts +44 -44
- package/src/execution/engine/agent/reasoning/request-builder.ts +169 -169
- package/src/execution/engine/agent/reasoning/types.ts +18 -18
- package/src/execution/engine/base/errors.ts +118 -118
- package/src/execution/engine/base/index.ts +2 -2
- package/src/execution/engine/base/logging.ts +31 -31
- package/src/execution/engine/base/serialization.ts +324 -324
- package/src/execution/engine/base/types.ts +126 -126
- package/src/execution/engine/base/utils.ts +41 -41
- package/src/execution/engine/index.ts +434 -434
- package/src/execution/engine/interface/index.ts +1 -1
- package/src/execution/engine/interface/types.ts +62 -62
- package/src/execution/engine/llm/__tests__/model-info.test.ts +50 -50
- package/src/execution/engine/llm/__tests__/model-validation.test.ts +321 -321
- package/src/execution/engine/llm/__tests__/response-schema-validator.test.ts +115 -115
- package/src/execution/engine/llm/adapters/__tests__/adapter-factory.test.ts +375 -375
- package/src/execution/engine/llm/adapters/__tests__/anthropic-adapter.test.ts +463 -463
- package/src/execution/engine/llm/adapters/__tests__/anthropic.integration.test.ts +177 -177
- package/src/execution/engine/llm/adapters/__tests__/google-adapter.test.ts +722 -722
- package/src/execution/engine/llm/adapters/__tests__/google.integration.test.ts +376 -376
- package/src/execution/engine/llm/adapters/__tests__/openai-adapter.test.ts +551 -551
- package/src/execution/engine/llm/adapters/__tests__/openrouter-adapter.test.ts +563 -563
- package/src/execution/engine/llm/adapters/__tests__/openrouter.integration.test.ts +105 -105
- package/src/execution/engine/llm/adapters/__tests__/universal-adapter.test.ts +537 -537
- package/src/execution/engine/llm/adapters/circuit-breaker.ts +147 -147
- package/src/execution/engine/llm/adapters/index.ts +17 -17
- package/src/execution/engine/llm/adapters/mock-adapter.ts +116 -116
- package/src/execution/engine/llm/adapters/server/adapter-factory.ts +130 -130
- package/src/execution/engine/llm/adapters/server/anthropic.ts +137 -137
- package/src/execution/engine/llm/adapters/server/google.ts +283 -283
- package/src/execution/engine/llm/adapters/server/index.ts +12 -12
- package/src/execution/engine/llm/adapters/server/openai.ts +206 -206
- package/src/execution/engine/llm/adapters/server/openrouter.ts +235 -235
- package/src/execution/engine/llm/adapters/universal-adapter.ts +230 -230
- package/src/execution/engine/llm/errors.ts +186 -186
- package/src/execution/engine/llm/model-info.ts +332 -332
- package/src/execution/engine/llm/response-schema-validator.ts +113 -113
- package/src/execution/engine/llm/types.ts +86 -86
- package/src/execution/engine/test-utils/index.ts +6 -6
- package/src/execution/engine/test-utils/mocks.ts +56 -56
- package/src/execution/engine/tools/integration/base-integration-adapter.ts +50 -50
- package/src/execution/engine/tools/integration/index.ts +53 -53
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/anymailfinder-adapter.ts +73 -73
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/anymailfinder-tools.ts +209 -209
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/fetch/find-company-email/index.ts +82 -82
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/fetch/find-decision-maker-email/index.ts +122 -122
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/fetch/find-person-email/index.ts +89 -89
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/fetch/verify-email/index.ts +84 -84
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/index.ts +16 -16
- package/src/execution/engine/tools/integration/server/adapters/apify/__tests__/apify-run-actor.integration.test.ts +293 -293
- package/src/execution/engine/tools/integration/server/adapters/apify/apify-adapter.ts +100 -100
- package/src/execution/engine/tools/integration/server/adapters/apify/apify-tools.ts +217 -217
- package/src/execution/engine/tools/integration/server/adapters/apify/fetch/get-dataset-items/index.ts +92 -92
- package/src/execution/engine/tools/integration/server/adapters/apify/fetch/run-actor/index.ts +218 -218
- package/src/execution/engine/tools/integration/server/adapters/apify/fetch/start-actor/index.ts +87 -87
- package/src/execution/engine/tools/integration/server/adapters/apify/index.ts +11 -11
- package/src/execution/engine/tools/integration/server/adapters/attio/__tests__/attio-crud.integration.test.ts +361 -361
- package/src/execution/engine/tools/integration/server/adapters/attio/attio-adapter.ts +162 -162
- package/src/execution/engine/tools/integration/server/adapters/attio/attio-tools.ts +594 -594
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/create-attribute/index.ts +214 -214
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/create-note/index.ts +152 -152
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/create-record/index.ts +141 -141
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/delete-note/index.ts +86 -86
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/delete-record/index.ts +105 -105
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/get-record/index.ts +118 -118
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-attributes/index.ts +165 -165
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-notes/index.ts +96 -96
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-objects/index.ts +104 -104
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-records/index.ts +156 -156
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/update-attribute/index.ts +220 -220
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/update-record/index.ts +140 -140
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/utils/types.ts +146 -146
- package/src/execution/engine/tools/integration/server/adapters/attio/index.ts +31 -31
- package/src/execution/engine/tools/integration/server/adapters/gmail/gmail-adapter.ts +210 -210
- package/src/execution/engine/tools/integration/server/adapters/gmail/gmail-tools.ts +104 -104
- package/src/execution/engine/tools/integration/server/adapters/google-sheets/__tests__/google-sheets.integration.test.ts +261 -261
- package/src/execution/engine/tools/integration/server/adapters/google-sheets/google-sheets-adapter.ts +1189 -1189
- package/src/execution/engine/tools/integration/server/adapters/google-sheets/google-sheets-tools.ts +641 -641
- package/src/execution/engine/tools/integration/server/adapters/google-sheets/index.ts +18 -18
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/activate-campaign/index.ts +86 -86
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/add-to-campaign/__tests__/index.test.ts +289 -289
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/add-to-campaign/index.ts +154 -154
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/bulk-add-leads/__tests__/index.test.ts +325 -325
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/bulk-add-leads/index.ts +153 -153
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/bulk-delete-leads/index.ts +84 -84
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/create-campaign/index.ts +125 -125
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/create-inbox-test/index.ts +107 -107
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/delete-campaign/index.ts +85 -85
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-account-health/index.ts +91 -91
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-campaign/index.ts +92 -92
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-campaign-analytics/__tests__/index.test.ts +195 -195
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-campaign-analytics/index.ts +113 -113
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-daily-campaign-analytics/index.ts +104 -104
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-emails/index.ts +155 -155
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-step-analytics/__tests__/index.test.ts +196 -196
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-step-analytics/index.ts +102 -102
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/list-campaigns/__tests__/index.test.ts +189 -189
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/list-campaigns/index.ts +87 -87
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/list-leads/index.ts +112 -112
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/patch-lead/index.ts +76 -76
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/pause-campaign/index.ts +86 -86
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/remove-from-subsequence/index.ts +98 -98
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/send-reply/index.ts +126 -126
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/update-campaign/__tests__/index.test.ts +193 -193
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/update-campaign/index.ts +99 -99
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/update-interest-status/__tests__/index.test.ts +621 -621
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/update-interest-status/index.ts +125 -125
- package/src/execution/engine/tools/integration/server/adapters/instantly/index.ts +29 -29
- package/src/execution/engine/tools/integration/server/adapters/instantly/instantly-adapter.ts +178 -178
- package/src/execution/engine/tools/integration/server/adapters/instantly/instantly-tools.ts +1473 -1473
- package/src/execution/engine/tools/integration/server/adapters/millionverifier/fetch/check-credits/index.ts +59 -59
- package/src/execution/engine/tools/integration/server/adapters/millionverifier/fetch/verify-email/index.ts +102 -102
- package/src/execution/engine/tools/integration/server/adapters/millionverifier/index.ts +17 -17
- package/src/execution/engine/tools/integration/server/adapters/millionverifier/millionverifier-adapter.ts +80 -80
- package/src/execution/engine/tools/integration/server/adapters/millionverifier/millionverifier-tools.ts +102 -102
- package/src/execution/engine/tools/integration/server/adapters/resend/fetch/get-email/index.ts +102 -102
- package/src/execution/engine/tools/integration/server/adapters/resend/fetch/send-email/index.ts +134 -134
- package/src/execution/engine/tools/integration/server/adapters/resend/fetch/utils/types.ts +75 -75
- package/src/execution/engine/tools/integration/server/adapters/resend/index.ts +27 -27
- package/src/execution/engine/tools/integration/server/adapters/resend/resend-adapter.ts +108 -108
- package/src/execution/engine/tools/integration/server/adapters/resend/resend-tools.ts +132 -132
- package/src/execution/engine/tools/integration/server/adapters/signature-api/fetch/create-envelope/index.ts +274 -274
- package/src/execution/engine/tools/integration/server/adapters/signature-api/fetch/download-document/index.ts +230 -230
- package/src/execution/engine/tools/integration/server/adapters/signature-api/fetch/get-envelope/index.ts +133 -133
- package/src/execution/engine/tools/integration/server/adapters/signature-api/fetch/void-envelope/index.ts +90 -90
- package/src/execution/engine/tools/integration/server/adapters/stripe/fetch/utils/types.ts +210 -210
- package/src/execution/engine/tools/integration/server/adapters/stripe/stripe-adapter.ts +517 -517
- package/src/execution/engine/tools/integration/server/adapters/stripe/stripe-tools.ts +309 -309
- package/src/execution/engine/tools/integration/server/adapters/tomba/fetch/domain-search/index.ts +133 -133
- package/src/execution/engine/tools/integration/server/adapters/tomba/fetch/email-finder/index.ts +122 -122
- package/src/execution/engine/tools/integration/server/adapters/tomba/fetch/email-verifier/index.ts +111 -111
- package/src/execution/engine/tools/integration/server/adapters/tomba/index.ts +11 -11
- package/src/execution/engine/tools/integration/server/adapters/tomba/tomba-adapter.ts +78 -78
- package/src/execution/engine/tools/integration/server/adapters/tomba/tomba-tools.ts +222 -222
- package/src/execution/engine/tools/integration/server/index.ts +61 -61
- package/src/execution/engine/tools/integration/service.ts +161 -161
- package/src/execution/engine/tools/integration/tool.ts +253 -253
- package/src/execution/engine/tools/integration/types/anymailfinder.ts +74 -74
- package/src/execution/engine/tools/integration/types/apify.ts +92 -92
- package/src/execution/engine/tools/integration/types/index.ts +19 -19
- package/src/execution/engine/tools/integration/types/instantly.ts +557 -557
- package/src/execution/engine/tools/integration/types/millionverifier.ts +56 -56
- package/src/execution/engine/tools/integration/types/stripe.ts +162 -162
- package/src/execution/engine/tools/integration/types/tomba.ts +94 -94
- package/src/execution/engine/tools/lead-service-types.ts +884 -884
- package/src/execution/engine/tools/llm/index.ts +11 -11
- package/src/execution/engine/tools/llm/server/index.ts +8 -8
- package/src/execution/engine/tools/llm/server/llm-call-tool.ts +118 -118
- package/src/execution/engine/tools/platform/__tests__/pdf.test.ts +441 -441
- package/src/execution/engine/tools/platform/acquisition/company-tools.ts +248 -248
- package/src/execution/engine/tools/platform/acquisition/contact-tools.ts +319 -319
- package/src/execution/engine/tools/platform/acquisition/index.ts +43 -43
- package/src/execution/engine/tools/platform/acquisition/list-tools.ts +148 -148
- package/src/execution/engine/tools/platform/acquisition/types.ts +260 -260
- package/src/execution/engine/tools/platform/email/index.ts +122 -122
- package/src/execution/engine/tools/platform/email/types.ts +96 -96
- package/src/execution/engine/tools/platform/index.ts +157 -157
- package/src/execution/engine/tools/platform/notification.ts +81 -81
- package/src/execution/engine/tools/platform/pdf/index.ts +110 -110
- package/src/execution/engine/tools/platform/pdf/types.ts +77 -77
- package/src/execution/engine/tools/platform/scheduler.ts +87 -87
- package/src/execution/engine/tools/platform/storage/index.ts +370 -370
- package/src/execution/engine/tools/platform/types.ts +148 -148
- package/src/execution/engine/tools/registry.ts +700 -700
- package/src/execution/engine/tools/tool-maps.ts +786 -786
- package/src/execution/engine/tools/types.ts +233 -233
- package/src/execution/engine/workflow/__tests__/errors.test.ts +139 -139
- package/src/execution/engine/workflow/errors.ts +63 -63
- package/src/execution/engine/workflow/helpers/index.ts +11 -11
- package/src/execution/engine/workflow/helpers/server/index.ts +8 -8
- package/src/execution/engine/workflow/helpers/server/llm-call.ts +93 -93
- package/src/execution/engine/workflow/index.ts +19 -19
- package/src/execution/engine/workflow/log-truncate.ts +26 -26
- package/src/execution/engine/workflow/logging.ts +191 -191
- package/src/execution/engine/workflow/types.ts +182 -182
- package/src/execution/engine/workflow/utils.ts +280 -280
- package/src/execution/engine/workflow/workflow.ts +168 -168
- package/src/execution/index.ts +3 -3
- package/src/execution/scheduler/__tests__/api-schemas.test.ts +733 -733
- package/src/execution/scheduler/__tests__/utils.test.ts +1009 -1009
- package/src/execution/scheduler/api-schemas.ts +296 -296
- package/src/execution/scheduler/index.ts +50 -50
- package/src/execution/scheduler/schemas.ts +264 -264
- package/src/execution/scheduler/types.ts +111 -111
- package/src/execution/scheduler/utils.ts +364 -364
- package/src/forms/index.ts +7 -7
- package/src/forms/schemas.ts +69 -69
- package/src/forms/types.ts +70 -70
- package/src/index.ts +71 -60
- package/src/integrations/credentials/__tests__/schemas.test.ts +82 -82
- package/src/integrations/credentials/__tests__/utils.test.ts +144 -144
- package/src/integrations/credentials/api-schemas.ts +143 -143
- package/src/integrations/credentials/index.ts +32 -32
- package/src/integrations/credentials/schemas.ts +164 -164
- package/src/integrations/credentials/utils.ts +59 -59
- package/src/integrations/oauth/__tests__/provider-registry.test.ts +59 -59
- package/src/integrations/oauth/api-schemas.ts +92 -92
- package/src/integrations/oauth/index.ts +19 -19
- package/src/integrations/oauth/provider-registry.ts +61 -61
- package/src/integrations/oauth/server/__tests__/refresh-concurrent.test.ts +183 -183
- package/src/integrations/oauth/server/__tests__/refresh.test.ts +577 -577
- package/src/integrations/oauth/server/credentials.ts +39 -39
- package/src/integrations/oauth/server/refresh.ts +214 -214
- package/src/integrations/oauth/types.ts +34 -34
- package/src/integrations/webhook-endpoints/__tests__/api-schemas.test.ts +318 -318
- package/src/integrations/webhook-endpoints/api-schemas.ts +102 -102
- package/src/integrations/webhook-endpoints/index.ts +28 -28
- package/src/integrations/webhook-endpoints/types.ts +51 -51
- package/src/operations/activities/api-schemas.ts +79 -79
- package/src/operations/activities/index.ts +9 -9
- package/src/operations/activities/sse-events.ts +30 -30
- package/src/operations/activities/types.ts +63 -63
- package/src/operations/debug-logs/client.ts +60 -60
- package/src/operations/debug-logs/debug-logger.ts +83 -83
- package/src/operations/debug-logs/index.ts +8 -8
- package/src/operations/debug-logs/server.ts +19 -19
- package/src/operations/debug-logs/types.ts +33 -33
- package/src/operations/index.ts +50 -50
- package/src/operations/notifications/api-schemas.ts +91 -91
- package/src/operations/notifications/index.ts +3 -3
- package/src/operations/notifications/sse-events.ts +21 -21
- package/src/operations/notifications/types.ts +47 -47
- package/src/operations/observability/__tests__/openrouter-cost-flow.test.ts +297 -297
- package/src/operations/observability/__tests__/utils.test.ts +54 -54
- package/src/operations/observability/ai-usage-collector.ts +64 -64
- package/src/operations/observability/index.ts +13 -13
- package/src/operations/observability/metrics-collector.ts +49 -49
- package/src/operations/observability/schemas.ts +39 -39
- package/src/operations/observability/types.ts +463 -463
- package/src/operations/observability/utils.ts +77 -77
- package/src/operations/sessions/__tests__/manager.test.ts +821 -821
- package/src/operations/sessions/index.ts +26 -26
- package/src/operations/sessions/server/manager.ts +90 -90
- package/src/operations/sessions/server/session.ts +180 -180
- package/src/operations/sessions/types.ts +98 -98
- package/src/operations/triggers/index.ts +12 -12
- package/src/operations/triggers/webhook/definitions/instantly-account-error.ts +44 -44
- package/src/operations/triggers/webhook/definitions/instantly-auto-reply-received.ts +51 -51
- package/src/operations/triggers/webhook/definitions/instantly-campaign-completed.ts +45 -45
- package/src/operations/triggers/webhook/definitions/instantly-email-bounced.ts +49 -49
- package/src/operations/triggers/webhook/definitions/instantly-lead-unsubscribed.ts +45 -45
- package/src/operations/triggers/webhook/definitions/instantly-reply-received.ts +54 -54
- package/src/operations/triggers/webhook/index.ts +35 -35
- package/src/operations/triggers/webhook/types.ts +74 -74
- package/src/organization-model/README.md +97 -97
- package/src/organization-model/__tests__/defaults.test.ts +175 -175
- package/src/organization-model/__tests__/domains/customers.test.ts +295 -295
- package/src/organization-model/__tests__/domains/goals.test.ts +479 -479
- package/src/organization-model/__tests__/domains/identity.test.ts +279 -279
- package/src/organization-model/__tests__/domains/navigation.test.ts +212 -212
- package/src/organization-model/__tests__/domains/offerings.test.ts +419 -419
- package/src/organization-model/__tests__/domains/operations.test.ts +203 -203
- package/src/organization-model/__tests__/domains/resource-mappings.test.ts +362 -362
- package/src/organization-model/__tests__/domains/roles.test.ts +347 -347
- package/src/organization-model/__tests__/domains/statuses.test.ts +243 -243
- package/src/organization-model/__tests__/foundation.test.ts +105 -105
- package/src/organization-model/__tests__/graph.test.ts +894 -894
- package/src/organization-model/__tests__/resolve.test.ts +690 -690
- package/src/organization-model/__tests__/schema.test.ts +407 -407
- package/src/organization-model/contracts.ts +14 -14
- package/src/organization-model/defaults.ts +148 -148
- package/src/organization-model/domains/branding.ts +22 -22
- package/src/organization-model/domains/customers.ts +75 -75
- package/src/organization-model/domains/features.ts +22 -22
- package/src/organization-model/domains/goals.ts +80 -80
- package/src/organization-model/domains/identity.ts +94 -94
- package/src/organization-model/domains/navigation.ts +391 -391
- package/src/organization-model/domains/offerings.ts +66 -66
- package/src/organization-model/domains/operations.ts +85 -85
- package/src/organization-model/domains/projects.ts +48 -48
- package/src/organization-model/domains/prospecting.ts +33 -33
- package/src/organization-model/domains/roles.ts +55 -55
- package/src/organization-model/domains/sales.ts +94 -94
- package/src/organization-model/domains/shared.ts +62 -62
- package/src/organization-model/domains/statuses.ts +130 -130
- package/src/organization-model/foundation.ts +97 -97
- package/src/organization-model/graph/build.ts +399 -399
- package/src/organization-model/graph/index.ts +4 -4
- package/src/organization-model/graph/schema.ts +48 -48
- package/src/organization-model/graph/types.ts +40 -40
- package/src/organization-model/index.ts +13 -13
- package/src/organization-model/organization-graph.mdx +272 -272
- package/src/organization-model/organization-model.mdx +320 -320
- package/src/organization-model/published.ts +85 -85
- package/src/organization-model/resolve.ts +66 -66
- package/src/organization-model/schema.ts +287 -287
- package/src/organization-model/types.ts +46 -46
- package/src/platform/api/index.ts +1 -1
- package/src/platform/api/types.ts +35 -35
- package/src/platform/constants/http.ts +37 -37
- package/src/platform/constants/index.ts +5 -5
- package/src/platform/constants/limits.ts +32 -32
- package/src/platform/constants/resilience.ts +51 -51
- package/src/platform/constants/timeouts.ts +20 -20
- package/src/platform/constants/versions.ts +3 -3
- package/src/platform/registry/__tests__/resource-registry-static.test.ts +347 -347
- package/src/platform/registry/__tests__/resource-registry.integration.test.ts +1028 -1028
- package/src/platform/registry/__tests__/resource-registry.list-executable.test.ts +393 -393
- package/src/platform/registry/__tests__/resource-registry.test.ts +2005 -2005
- package/src/platform/registry/__tests__/serialization.test.ts +1127 -1127
- package/src/platform/registry/command-view.ts +180 -180
- package/src/platform/registry/domains.ts +165 -165
- package/src/platform/registry/index.ts +93 -93
- package/src/platform/registry/reserved.ts +24 -24
- package/src/platform/registry/resource-metadata.ts +59 -59
- package/src/platform/registry/resource-registry.command-queue-groups.test.ts +129 -129
- package/src/platform/registry/resource-registry.ts +876 -876
- package/src/platform/registry/serialization.ts +273 -273
- package/src/platform/registry/serialized-types.ts +231 -231
- package/src/platform/registry/stats-types.ts +66 -66
- package/src/platform/registry/types.ts +404 -404
- package/src/platform/registry/validation.ts +513 -513
- package/src/platform/resilience/__tests__/rate-limiter.test.ts +471 -471
- package/src/platform/resilience/circuit-breaker.ts +164 -164
- package/src/platform/resilience/errors.ts +68 -68
- package/src/platform/resilience/http-error-mapper.ts +129 -129
- package/src/platform/resilience/index.ts +93 -93
- package/src/platform/resilience/rate-limiter-types.ts +46 -46
- package/src/platform/resilience/rate-limiter.ts +140 -140
- package/src/platform/resilience/retry.ts +89 -89
- package/src/platform/resilience/timeout.ts +63 -63
- package/src/platform/sse/events.ts +37 -37
- package/src/platform/sse/index.ts +7 -7
- package/src/platform/utils/__tests__/validation.test.ts +1083 -1083
- package/src/platform/utils/currency.ts +96 -96
- package/src/platform/utils/debounce.ts +52 -52
- package/src/platform/utils/error.ts +41 -41
- package/src/platform/utils/hmac.test.ts +97 -97
- package/src/platform/utils/index.ts +32 -32
- package/src/platform/utils/server/betterstack-logger.ts +210 -210
- package/src/platform/utils/server/hmac.ts +44 -44
- package/src/platform/utils/server/unsubscribe.ts +111 -111
- package/src/platform/utils/token-counter.ts +96 -96
- package/src/platform/utils/validation.ts +425 -425
- package/src/projects/api-schemas.ts +268 -268
- package/src/published.ts +1 -1
- package/src/reference/_generated/contracts.md +607 -607
- package/src/reference/glossary.md +105 -105
- package/src/requests/__tests__/api-schemas.test.ts +277 -277
- package/src/requests/api-schemas.ts +83 -83
- package/src/requests/index.ts +1 -1
- package/src/scaffold-registry/__tests__/index.test.ts +17 -0
- package/src/scaffold-registry/__tests__/schema.test.ts +329 -230
- package/src/scaffold-registry/index.ts +205 -189
- package/src/scaffold-registry/schema.ts +196 -128
- package/src/server.ts +272 -272
- package/src/supabase/database.types.ts +2719 -2719
- package/src/supabase/helpers.ts +20 -20
- package/src/supabase/index.ts +52 -52
- package/src/supabase/server/client.ts +58 -58
- package/src/test-utils/README.md +38 -38
- package/src/test-utils/browser-mocks.ts +54 -54
- package/src/test-utils/fixtures/api-keys.ts +52 -52
- package/src/test-utils/fixtures/index.ts +4 -4
- package/src/test-utils/fixtures/memberships.ts +80 -80
- package/src/test-utils/fixtures/organizations.ts +69 -69
- package/src/test-utils/fixtures/users.ts +79 -79
- package/src/test-utils/index.ts +11 -11
- package/src/test-utils/mocks/index.ts +2 -2
- package/src/test-utils/mocks/supabase.ts +142 -142
- package/src/test-utils/mocks/workos.ts +108 -108
- package/src/test-utils/rls/RLSTestContext.ts +556 -556
- package/src/test-utils/rls/index.ts +1 -1
|
@@ -1,106 +1,106 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Knowledge Map Types
|
|
3
|
-
*
|
|
4
|
-
* Enables agents to navigate organizational knowledge through a lightweight
|
|
5
|
-
* graph that lazy-loads capabilities on-demand.
|
|
6
|
-
*
|
|
7
|
-
* @module agent/knowledge-map
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import type { Tool } from '../../tools/types'
|
|
11
|
-
import type { ExecutionContext } from '../../base/types'
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Lightweight knowledge map (passed as agent property)
|
|
15
|
-
*
|
|
16
|
-
* Contains metadata about available knowledge nodes without loading
|
|
17
|
-
* the full content upfront. Total size: ~300-500 tokens.
|
|
18
|
-
*
|
|
19
|
-
* Multi-tenancy is enforced via:
|
|
20
|
-
* - File-scoped maps (organizations/{org-name}/knowledge/)
|
|
21
|
-
* - ExecutionContext.organizationId passed to node.load()
|
|
22
|
-
*/
|
|
23
|
-
export interface KnowledgeMap {
|
|
24
|
-
/** Available knowledge nodes indexed by ID */
|
|
25
|
-
nodes: Record<string, KnowledgeNode>
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Single knowledge source
|
|
30
|
-
*
|
|
31
|
-
* Represents a domain knowledge area (CRM, brand guidelines, Excel tools)
|
|
32
|
-
* that can be lazy-loaded to provide instructions and tools to agents.
|
|
33
|
-
*/
|
|
34
|
-
export interface KnowledgeNode {
|
|
35
|
-
/** Unique identifier for this node (e.g., "crm", "brand-guidelines") */
|
|
36
|
-
id: string
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Description of when to use this knowledge
|
|
40
|
-
* Used for semantic matching against user intent
|
|
41
|
-
*/
|
|
42
|
-
description: string
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Load knowledge content on-demand
|
|
46
|
-
*
|
|
47
|
-
* @param context - Execution context with organizationId for multi-tenancy
|
|
48
|
-
* @returns Promise resolving to knowledge content (prompt + optional tools)
|
|
49
|
-
*/
|
|
50
|
-
load(context: ExecutionContext): Promise<KnowledgeContent>
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Loaded state flag
|
|
54
|
-
* Set to true after load() is called
|
|
55
|
-
*/
|
|
56
|
-
loaded?: boolean
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Cached prompt (for system prompt serialization)
|
|
60
|
-
* Only the prompt is cached - tools go to toolRegistry, children flattened to nodes
|
|
61
|
-
*/
|
|
62
|
-
prompt?: string
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Content returned by knowledge node
|
|
67
|
-
*
|
|
68
|
-
* Separates instructions (prompt) from capabilities (tools).
|
|
69
|
-
* Tools are optional - some nodes only provide context.
|
|
70
|
-
*
|
|
71
|
-
* Supports recursive navigation - nodes can contain child nodes
|
|
72
|
-
* that are discovered when the parent node is loaded.
|
|
73
|
-
*/
|
|
74
|
-
export interface KnowledgeContent {
|
|
75
|
-
/** Instructions and context (markdown format) */
|
|
76
|
-
prompt: string
|
|
77
|
-
|
|
78
|
-
/** Tool implementations (optional) */
|
|
79
|
-
tools?: Tool[]
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Child knowledge nodes (optional, recursive)
|
|
83
|
-
*
|
|
84
|
-
* Enables hierarchical navigation: base → specialized → deep expertise.
|
|
85
|
-
* Child nodes are flattened into the main knowledge map when parent loads,
|
|
86
|
-
* making them available for subsequent navigate-knowledge actions.
|
|
87
|
-
*
|
|
88
|
-
* Example: CRM base node returns crm-customers and crm-deals as children
|
|
89
|
-
*/
|
|
90
|
-
nodes?: Record<string, KnowledgeNode>
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Knowledge map state for cross-turn persistence
|
|
95
|
-
*
|
|
96
|
-
* Stored in sessionMemory['knowledge-map-state'] to track which nodes
|
|
97
|
-
* have been loaded during the session. On subsequent turns, tools are
|
|
98
|
-
* re-registered from source code using these IDs.
|
|
99
|
-
*/
|
|
100
|
-
export interface KnowledgeMapState {
|
|
101
|
-
/** List of loaded node IDs (ordered by load time) */
|
|
102
|
-
loadedNodes: string[]
|
|
103
|
-
|
|
104
|
-
/** State version for future compatibility */
|
|
105
|
-
version: 1
|
|
106
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Knowledge Map Types
|
|
3
|
+
*
|
|
4
|
+
* Enables agents to navigate organizational knowledge through a lightweight
|
|
5
|
+
* graph that lazy-loads capabilities on-demand.
|
|
6
|
+
*
|
|
7
|
+
* @module agent/knowledge-map
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import type { Tool } from '../../tools/types'
|
|
11
|
+
import type { ExecutionContext } from '../../base/types'
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Lightweight knowledge map (passed as agent property)
|
|
15
|
+
*
|
|
16
|
+
* Contains metadata about available knowledge nodes without loading
|
|
17
|
+
* the full content upfront. Total size: ~300-500 tokens.
|
|
18
|
+
*
|
|
19
|
+
* Multi-tenancy is enforced via:
|
|
20
|
+
* - File-scoped maps (organizations/{org-name}/knowledge/)
|
|
21
|
+
* - ExecutionContext.organizationId passed to node.load()
|
|
22
|
+
*/
|
|
23
|
+
export interface KnowledgeMap {
|
|
24
|
+
/** Available knowledge nodes indexed by ID */
|
|
25
|
+
nodes: Record<string, KnowledgeNode>
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Single knowledge source
|
|
30
|
+
*
|
|
31
|
+
* Represents a domain knowledge area (CRM, brand guidelines, Excel tools)
|
|
32
|
+
* that can be lazy-loaded to provide instructions and tools to agents.
|
|
33
|
+
*/
|
|
34
|
+
export interface KnowledgeNode {
|
|
35
|
+
/** Unique identifier for this node (e.g., "crm", "brand-guidelines") */
|
|
36
|
+
id: string
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Description of when to use this knowledge
|
|
40
|
+
* Used for semantic matching against user intent
|
|
41
|
+
*/
|
|
42
|
+
description: string
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Load knowledge content on-demand
|
|
46
|
+
*
|
|
47
|
+
* @param context - Execution context with organizationId for multi-tenancy
|
|
48
|
+
* @returns Promise resolving to knowledge content (prompt + optional tools)
|
|
49
|
+
*/
|
|
50
|
+
load(context: ExecutionContext): Promise<KnowledgeContent>
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Loaded state flag
|
|
54
|
+
* Set to true after load() is called
|
|
55
|
+
*/
|
|
56
|
+
loaded?: boolean
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Cached prompt (for system prompt serialization)
|
|
60
|
+
* Only the prompt is cached - tools go to toolRegistry, children flattened to nodes
|
|
61
|
+
*/
|
|
62
|
+
prompt?: string
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Content returned by knowledge node
|
|
67
|
+
*
|
|
68
|
+
* Separates instructions (prompt) from capabilities (tools).
|
|
69
|
+
* Tools are optional - some nodes only provide context.
|
|
70
|
+
*
|
|
71
|
+
* Supports recursive navigation - nodes can contain child nodes
|
|
72
|
+
* that are discovered when the parent node is loaded.
|
|
73
|
+
*/
|
|
74
|
+
export interface KnowledgeContent {
|
|
75
|
+
/** Instructions and context (markdown format) */
|
|
76
|
+
prompt: string
|
|
77
|
+
|
|
78
|
+
/** Tool implementations (optional) */
|
|
79
|
+
tools?: Tool[]
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Child knowledge nodes (optional, recursive)
|
|
83
|
+
*
|
|
84
|
+
* Enables hierarchical navigation: base → specialized → deep expertise.
|
|
85
|
+
* Child nodes are flattened into the main knowledge map when parent loads,
|
|
86
|
+
* making them available for subsequent navigate-knowledge actions.
|
|
87
|
+
*
|
|
88
|
+
* Example: CRM base node returns crm-customers and crm-deals as children
|
|
89
|
+
*/
|
|
90
|
+
nodes?: Record<string, KnowledgeNode>
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Knowledge map state for cross-turn persistence
|
|
95
|
+
*
|
|
96
|
+
* Stored in sessionMemory['knowledge-map-state'] to track which nodes
|
|
97
|
+
* have been loaded during the session. On subsequent turns, tools are
|
|
98
|
+
* re-registered from source code using these IDs.
|
|
99
|
+
*/
|
|
100
|
+
export interface KnowledgeMapState {
|
|
101
|
+
/** List of loaded node IDs (ordered by load time) */
|
|
102
|
+
loadedNodes: string[]
|
|
103
|
+
|
|
104
|
+
/** State version for future compatibility */
|
|
105
|
+
version: 1
|
|
106
|
+
}
|
|
@@ -1,101 +1,101 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Knowledge Map Utilities
|
|
3
|
-
*
|
|
4
|
-
* Helper functions for knowledge map operations
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import type { KnowledgeMap, KnowledgeMapState } from './types'
|
|
8
|
-
import type { Tool } from '../../tools/types'
|
|
9
|
-
import type { ExecutionContext } from '../../base/types'
|
|
10
|
-
import type { AgentMemory } from '../memory/types'
|
|
11
|
-
import { errorToString } from '../../../../platform/utils/error'
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Reload tools from knowledge map state (cross-turn persistence)
|
|
15
|
-
*
|
|
16
|
-
* Reads the knowledge-map-state from sessionMemory and rebuilds the runtime
|
|
17
|
-
* knowledge map by re-loading nodes and re-discovering their child nodes.
|
|
18
|
-
*
|
|
19
|
-
* This reconstructs the full map structure that existed at the end of the
|
|
20
|
-
* previous turn, including both explicitly loaded nodes and discovered children.
|
|
21
|
-
*
|
|
22
|
-
* @param knowledgeMap - The agent's knowledge map (will be mutated to add child nodes)
|
|
23
|
-
* @param memory - Agent memory with sessionMemory state
|
|
24
|
-
* @param context - Execution context
|
|
25
|
-
* @returns Array of tools to register with the agent
|
|
26
|
-
*
|
|
27
|
-
* @example
|
|
28
|
-
* ```typescript
|
|
29
|
-
* async function initializeMemoryManager(context: ExecutionContext) {
|
|
30
|
-
* const memory = await preloadMemory(context)
|
|
31
|
-
*
|
|
32
|
-
* // Reload tools from loaded knowledge nodes
|
|
33
|
-
* if (knowledgeMap) {
|
|
34
|
-
* const tools = await reloadKnowledgeMapTools(knowledgeMap, memory, context)
|
|
35
|
-
* // Tools will be registered by caller
|
|
36
|
-
* }
|
|
37
|
-
*
|
|
38
|
-
* return memory
|
|
39
|
-
* }
|
|
40
|
-
* ```
|
|
41
|
-
*/
|
|
42
|
-
export async function reloadKnowledgeMapTools(
|
|
43
|
-
knowledgeMap: KnowledgeMap,
|
|
44
|
-
memory: AgentMemory,
|
|
45
|
-
context: ExecutionContext
|
|
46
|
-
): Promise<Tool[]> {
|
|
47
|
-
const stateJson = memory.sessionMemory['knowledge-map-state']
|
|
48
|
-
if (!stateJson) {
|
|
49
|
-
return [] // No state to reload
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
try {
|
|
53
|
-
const state = JSON.parse(stateJson.content) as KnowledgeMapState
|
|
54
|
-
const tools: Tool[] = []
|
|
55
|
-
|
|
56
|
-
// Load each node and collect tools (BFS order - same as original load order)
|
|
57
|
-
for (const nodeId of state.loadedNodes) {
|
|
58
|
-
const node = knowledgeMap.nodes[nodeId]
|
|
59
|
-
|
|
60
|
-
if (!node) {
|
|
61
|
-
// Node no longer exists in knowledge map (definition changed)
|
|
62
|
-
context.logger.warn(`Knowledge node '${nodeId}' not found during reload (skipping)`)
|
|
63
|
-
continue
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
try {
|
|
67
|
-
// Re-load node content from source
|
|
68
|
-
const content = await node.load(context)
|
|
69
|
-
|
|
70
|
-
// Cache prompt and set loaded flag (minimal caching)
|
|
71
|
-
node.loaded = true
|
|
72
|
-
node.prompt = content.prompt
|
|
73
|
-
|
|
74
|
-
// Re-discover child nodes (rebuild runtime knowledge map)
|
|
75
|
-
if (content.nodes && Object.keys(content.nodes).length > 0) {
|
|
76
|
-
for (const [childId, childNode] of Object.entries(content.nodes)) {
|
|
77
|
-
if (!knowledgeMap.nodes[childId]) {
|
|
78
|
-
knowledgeMap.nodes[childId] = childNode
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
// Collect tools (if any)
|
|
84
|
-
if (content.tools && content.tools.length > 0) {
|
|
85
|
-
tools.push(...content.tools)
|
|
86
|
-
}
|
|
87
|
-
} catch (error) {
|
|
88
|
-
// Log error but continue with other nodes
|
|
89
|
-
const errorMessage = errorToString(error)
|
|
90
|
-
context.logger.error(`Failed to reload knowledge node '${nodeId}': ${errorMessage}`)
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
return tools
|
|
95
|
-
} catch (error) {
|
|
96
|
-
// Failed to parse state - return empty array
|
|
97
|
-
const errorMessage = errorToString(error)
|
|
98
|
-
context.logger.error(`Failed to parse knowledge-map-state: ${errorMessage}`)
|
|
99
|
-
return []
|
|
100
|
-
}
|
|
101
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Knowledge Map Utilities
|
|
3
|
+
*
|
|
4
|
+
* Helper functions for knowledge map operations
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { KnowledgeMap, KnowledgeMapState } from './types'
|
|
8
|
+
import type { Tool } from '../../tools/types'
|
|
9
|
+
import type { ExecutionContext } from '../../base/types'
|
|
10
|
+
import type { AgentMemory } from '../memory/types'
|
|
11
|
+
import { errorToString } from '../../../../platform/utils/error'
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Reload tools from knowledge map state (cross-turn persistence)
|
|
15
|
+
*
|
|
16
|
+
* Reads the knowledge-map-state from sessionMemory and rebuilds the runtime
|
|
17
|
+
* knowledge map by re-loading nodes and re-discovering their child nodes.
|
|
18
|
+
*
|
|
19
|
+
* This reconstructs the full map structure that existed at the end of the
|
|
20
|
+
* previous turn, including both explicitly loaded nodes and discovered children.
|
|
21
|
+
*
|
|
22
|
+
* @param knowledgeMap - The agent's knowledge map (will be mutated to add child nodes)
|
|
23
|
+
* @param memory - Agent memory with sessionMemory state
|
|
24
|
+
* @param context - Execution context
|
|
25
|
+
* @returns Array of tools to register with the agent
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* async function initializeMemoryManager(context: ExecutionContext) {
|
|
30
|
+
* const memory = await preloadMemory(context)
|
|
31
|
+
*
|
|
32
|
+
* // Reload tools from loaded knowledge nodes
|
|
33
|
+
* if (knowledgeMap) {
|
|
34
|
+
* const tools = await reloadKnowledgeMapTools(knowledgeMap, memory, context)
|
|
35
|
+
* // Tools will be registered by caller
|
|
36
|
+
* }
|
|
37
|
+
*
|
|
38
|
+
* return memory
|
|
39
|
+
* }
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export async function reloadKnowledgeMapTools(
|
|
43
|
+
knowledgeMap: KnowledgeMap,
|
|
44
|
+
memory: AgentMemory,
|
|
45
|
+
context: ExecutionContext
|
|
46
|
+
): Promise<Tool[]> {
|
|
47
|
+
const stateJson = memory.sessionMemory['knowledge-map-state']
|
|
48
|
+
if (!stateJson) {
|
|
49
|
+
return [] // No state to reload
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
try {
|
|
53
|
+
const state = JSON.parse(stateJson.content) as KnowledgeMapState
|
|
54
|
+
const tools: Tool[] = []
|
|
55
|
+
|
|
56
|
+
// Load each node and collect tools (BFS order - same as original load order)
|
|
57
|
+
for (const nodeId of state.loadedNodes) {
|
|
58
|
+
const node = knowledgeMap.nodes[nodeId]
|
|
59
|
+
|
|
60
|
+
if (!node) {
|
|
61
|
+
// Node no longer exists in knowledge map (definition changed)
|
|
62
|
+
context.logger.warn(`Knowledge node '${nodeId}' not found during reload (skipping)`)
|
|
63
|
+
continue
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
try {
|
|
67
|
+
// Re-load node content from source
|
|
68
|
+
const content = await node.load(context)
|
|
69
|
+
|
|
70
|
+
// Cache prompt and set loaded flag (minimal caching)
|
|
71
|
+
node.loaded = true
|
|
72
|
+
node.prompt = content.prompt
|
|
73
|
+
|
|
74
|
+
// Re-discover child nodes (rebuild runtime knowledge map)
|
|
75
|
+
if (content.nodes && Object.keys(content.nodes).length > 0) {
|
|
76
|
+
for (const [childId, childNode] of Object.entries(content.nodes)) {
|
|
77
|
+
if (!knowledgeMap.nodes[childId]) {
|
|
78
|
+
knowledgeMap.nodes[childId] = childNode
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// Collect tools (if any)
|
|
84
|
+
if (content.tools && content.tools.length > 0) {
|
|
85
|
+
tools.push(...content.tools)
|
|
86
|
+
}
|
|
87
|
+
} catch (error) {
|
|
88
|
+
// Log error but continue with other nodes
|
|
89
|
+
const errorMessage = errorToString(error)
|
|
90
|
+
context.logger.error(`Failed to reload knowledge node '${nodeId}': ${errorMessage}`)
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return tools
|
|
95
|
+
} catch (error) {
|
|
96
|
+
// Failed to parse state - return empty array
|
|
97
|
+
const errorMessage = errorToString(error)
|
|
98
|
+
context.logger.error(`Failed to parse knowledge-map-state: ${errorMessage}`)
|
|
99
|
+
return []
|
|
100
|
+
}
|
|
101
|
+
}
|