@elevasis/core 0.7.0 → 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 +3 -3
- 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 -1
- package/src/business/projects/sse-events.ts +21 -0
- 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 -699
- 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 -34
- 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 +611 -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,93 +1,93 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Knowledge Map Section
|
|
3
|
-
* Formats knowledge map nodes (loaded vs unloaded) with comprehensive navigation instructions
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { KnowledgeMap } from '../../knowledge-map/types'
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Builds the knowledge map section of the system prompt
|
|
10
|
-
* Includes conceptual overview, navigation instructions, workflow examples,
|
|
11
|
-
* and separates loaded nodes (with full prompts) from unloaded nodes (available to load)
|
|
12
|
-
*
|
|
13
|
-
* @param knowledgeMap - Knowledge map instance with nodes
|
|
14
|
-
* @returns Knowledge map prompt section, or empty string if no nodes
|
|
15
|
-
*/
|
|
16
|
-
export function buildKnowledgeMapPrompt(knowledgeMap?: KnowledgeMap): string {
|
|
17
|
-
// No knowledge map or no nodes - skip section
|
|
18
|
-
if (!knowledgeMap || Object.keys(knowledgeMap.nodes).length === 0) {
|
|
19
|
-
return ''
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
let section = '## Knowledge Map\n\n'
|
|
23
|
-
|
|
24
|
-
// Conceptual overview
|
|
25
|
-
section += 'Knowledge maps provide on-demand access to specialized capabilities. '
|
|
26
|
-
section += 'Each node contains domain-specific instructions and tools.\n\n'
|
|
27
|
-
|
|
28
|
-
// Critical instruction - most common mistake
|
|
29
|
-
section += '**CRITICAL**: After navigating to a node, tools become available in the **NEXT iteration**. '
|
|
30
|
-
section += 'Do NOT attempt to use tools in the same iteration as navigation.\n\n'
|
|
31
|
-
|
|
32
|
-
// Separate loaded vs unloaded nodes
|
|
33
|
-
const loadedNodes: (typeof knowledgeMap.nodes)[string][] = []
|
|
34
|
-
const unloadedNodes: (typeof knowledgeMap.nodes)[string][] = []
|
|
35
|
-
|
|
36
|
-
Object.values(knowledgeMap.nodes).forEach((node) => {
|
|
37
|
-
if (node.loaded && node.prompt) {
|
|
38
|
-
loadedNodes.push(node)
|
|
39
|
-
} else {
|
|
40
|
-
unloadedNodes.push(node)
|
|
41
|
-
}
|
|
42
|
-
})
|
|
43
|
-
|
|
44
|
-
// Show loaded nodes with full prompts
|
|
45
|
-
if (loadedNodes.length > 0) {
|
|
46
|
-
section += '### Loaded Knowledge\n\n'
|
|
47
|
-
section += 'These nodes are active - their tools are available now:\n\n'
|
|
48
|
-
loadedNodes.forEach((node) => {
|
|
49
|
-
section += `**${node.id}**\n${node.prompt}\n\n`
|
|
50
|
-
})
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// Show unloaded nodes (available to load)
|
|
54
|
-
if (unloadedNodes.length > 0) {
|
|
55
|
-
section += '### Available to Load\n\n'
|
|
56
|
-
unloadedNodes.forEach((node) => {
|
|
57
|
-
section += `- **${node.id}**: ${node.description}\n`
|
|
58
|
-
})
|
|
59
|
-
|
|
60
|
-
// Navigation format
|
|
61
|
-
section += '\n### How to Navigate\n\n'
|
|
62
|
-
section += '```json\n'
|
|
63
|
-
section += '{ "type": "navigate-knowledge", "id": "unique-id", "nodeId": "node-id" }\n'
|
|
64
|
-
section += '```\n\n'
|
|
65
|
-
|
|
66
|
-
// Workflow example - shows the 2-iteration pattern
|
|
67
|
-
section += '### Typical Workflow\n\n'
|
|
68
|
-
section += '**Iteration 1 - Navigate to load knowledge:**\n'
|
|
69
|
-
section += '```json\n'
|
|
70
|
-
section += '{\n'
|
|
71
|
-
section += ' "reasoning": "I need [domain] capabilities to accomplish this task.",\n'
|
|
72
|
-
section += ' "nextActions": [\n'
|
|
73
|
-
section += ' { "type": "navigate-knowledge", "id": "nav-1", "nodeId": "[node-id]" }\n'
|
|
74
|
-
section += ' ]\n'
|
|
75
|
-
section += '}\n'
|
|
76
|
-
section += '```\n\n'
|
|
77
|
-
section += '**Iteration 2 - Use newly available tools:**\n'
|
|
78
|
-
section += '```json\n'
|
|
79
|
-
section += '{\n'
|
|
80
|
-
section += ' "reasoning": "Now I have [domain] tools. Using [tool_name] to [action].",\n'
|
|
81
|
-
section += ' "nextActions": [\n'
|
|
82
|
-
section += ' { "type": "tool-call", "id": "t1", "name": "[tool_name]", "input": {...} }\n'
|
|
83
|
-
section += ' ]\n'
|
|
84
|
-
section += '}\n'
|
|
85
|
-
section += '```\n\n'
|
|
86
|
-
|
|
87
|
-
// Cross-turn persistence note
|
|
88
|
-
section += '**Note:** Loaded knowledge persists across conversation turns. '
|
|
89
|
-
section += 'Previously loaded nodes remain available without re-navigation.\n'
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
return section + '\n'
|
|
93
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Knowledge Map Section
|
|
3
|
+
* Formats knowledge map nodes (loaded vs unloaded) with comprehensive navigation instructions
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { KnowledgeMap } from '../../knowledge-map/types'
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Builds the knowledge map section of the system prompt
|
|
10
|
+
* Includes conceptual overview, navigation instructions, workflow examples,
|
|
11
|
+
* and separates loaded nodes (with full prompts) from unloaded nodes (available to load)
|
|
12
|
+
*
|
|
13
|
+
* @param knowledgeMap - Knowledge map instance with nodes
|
|
14
|
+
* @returns Knowledge map prompt section, or empty string if no nodes
|
|
15
|
+
*/
|
|
16
|
+
export function buildKnowledgeMapPrompt(knowledgeMap?: KnowledgeMap): string {
|
|
17
|
+
// No knowledge map or no nodes - skip section
|
|
18
|
+
if (!knowledgeMap || Object.keys(knowledgeMap.nodes).length === 0) {
|
|
19
|
+
return ''
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
let section = '## Knowledge Map\n\n'
|
|
23
|
+
|
|
24
|
+
// Conceptual overview
|
|
25
|
+
section += 'Knowledge maps provide on-demand access to specialized capabilities. '
|
|
26
|
+
section += 'Each node contains domain-specific instructions and tools.\n\n'
|
|
27
|
+
|
|
28
|
+
// Critical instruction - most common mistake
|
|
29
|
+
section += '**CRITICAL**: After navigating to a node, tools become available in the **NEXT iteration**. '
|
|
30
|
+
section += 'Do NOT attempt to use tools in the same iteration as navigation.\n\n'
|
|
31
|
+
|
|
32
|
+
// Separate loaded vs unloaded nodes
|
|
33
|
+
const loadedNodes: (typeof knowledgeMap.nodes)[string][] = []
|
|
34
|
+
const unloadedNodes: (typeof knowledgeMap.nodes)[string][] = []
|
|
35
|
+
|
|
36
|
+
Object.values(knowledgeMap.nodes).forEach((node) => {
|
|
37
|
+
if (node.loaded && node.prompt) {
|
|
38
|
+
loadedNodes.push(node)
|
|
39
|
+
} else {
|
|
40
|
+
unloadedNodes.push(node)
|
|
41
|
+
}
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
// Show loaded nodes with full prompts
|
|
45
|
+
if (loadedNodes.length > 0) {
|
|
46
|
+
section += '### Loaded Knowledge\n\n'
|
|
47
|
+
section += 'These nodes are active - their tools are available now:\n\n'
|
|
48
|
+
loadedNodes.forEach((node) => {
|
|
49
|
+
section += `**${node.id}**\n${node.prompt}\n\n`
|
|
50
|
+
})
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// Show unloaded nodes (available to load)
|
|
54
|
+
if (unloadedNodes.length > 0) {
|
|
55
|
+
section += '### Available to Load\n\n'
|
|
56
|
+
unloadedNodes.forEach((node) => {
|
|
57
|
+
section += `- **${node.id}**: ${node.description}\n`
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
// Navigation format
|
|
61
|
+
section += '\n### How to Navigate\n\n'
|
|
62
|
+
section += '```json\n'
|
|
63
|
+
section += '{ "type": "navigate-knowledge", "id": "unique-id", "nodeId": "node-id" }\n'
|
|
64
|
+
section += '```\n\n'
|
|
65
|
+
|
|
66
|
+
// Workflow example - shows the 2-iteration pattern
|
|
67
|
+
section += '### Typical Workflow\n\n'
|
|
68
|
+
section += '**Iteration 1 - Navigate to load knowledge:**\n'
|
|
69
|
+
section += '```json\n'
|
|
70
|
+
section += '{\n'
|
|
71
|
+
section += ' "reasoning": "I need [domain] capabilities to accomplish this task.",\n'
|
|
72
|
+
section += ' "nextActions": [\n'
|
|
73
|
+
section += ' { "type": "navigate-knowledge", "id": "nav-1", "nodeId": "[node-id]" }\n'
|
|
74
|
+
section += ' ]\n'
|
|
75
|
+
section += '}\n'
|
|
76
|
+
section += '```\n\n'
|
|
77
|
+
section += '**Iteration 2 - Use newly available tools:**\n'
|
|
78
|
+
section += '```json\n'
|
|
79
|
+
section += '{\n'
|
|
80
|
+
section += ' "reasoning": "Now I have [domain] tools. Using [tool_name] to [action].",\n'
|
|
81
|
+
section += ' "nextActions": [\n'
|
|
82
|
+
section += ' { "type": "tool-call", "id": "t1", "name": "[tool_name]", "input": {...} }\n'
|
|
83
|
+
section += ' ]\n'
|
|
84
|
+
section += '}\n'
|
|
85
|
+
section += '```\n\n'
|
|
86
|
+
|
|
87
|
+
// Cross-turn persistence note
|
|
88
|
+
section += '**Note:** Loaded knowledge persists across conversation turns. '
|
|
89
|
+
section += 'Previously loaded nodes remain available without re-navigation.\n'
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
return section + '\n'
|
|
93
|
+
}
|
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Memory Management Section
|
|
3
|
-
* Provides guidance on session memory operations (SET/DELETE) with dynamic status
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Memory status information for prompt generation
|
|
8
|
-
*/
|
|
9
|
-
export interface MemoryStatus {
|
|
10
|
-
sessionMemoryKeys: number
|
|
11
|
-
sessionMemoryLimit: number
|
|
12
|
-
historyPercent: number
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Builds the memory management section of the system prompt
|
|
17
|
-
* Includes SET/DELETE operations, memory status, and persistence guidance
|
|
18
|
-
*
|
|
19
|
-
* @param memoryStatus - Current memory usage statistics
|
|
20
|
-
* @param preferences - Optional agent-specific memory preferences (string)
|
|
21
|
-
* @returns Memory management prompt section
|
|
22
|
-
*/
|
|
23
|
-
export function buildMemoryPrompt(memoryStatus: MemoryStatus, preferences?: string): string {
|
|
24
|
-
return `## Memory Management
|
|
25
|
-
|
|
26
|
-
You have control over session memory. Use memoryOps to manage critical information:
|
|
27
|
-
|
|
28
|
-
**SET critical information:**
|
|
29
|
-
\`\`\`json
|
|
30
|
-
{
|
|
31
|
-
"memoryOps": {
|
|
32
|
-
"set": {
|
|
33
|
-
"customer_account": "Account #12345, Premium tier, expires 2026-03-15",
|
|
34
|
-
"original_request": "Fix broken widget"
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
\`\`\`
|
|
39
|
-
|
|
40
|
-
**DELETE outdated information:**
|
|
41
|
-
\`\`\`json
|
|
42
|
-
{
|
|
43
|
-
"memoryOps": {
|
|
44
|
-
"delete": ["old_address", "cancelled_order"]
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
\`\`\`
|
|
48
|
-
|
|
49
|
-
**When to persist:**
|
|
50
|
-
- Memory at ${memoryStatus.historyPercent}%: ${memoryStatus.historyPercent >= 80 ? 'Proactively persist important context NOW (auto-compaction at 100%)' : 'Normal operation'}
|
|
51
|
-
- Session keys at ${memoryStatus.sessionMemoryKeys}/${memoryStatus.sessionMemoryLimit}: Delete outdated keys before adding new ones
|
|
52
|
-
- Always: Persist critical data that should survive memory compaction
|
|
53
|
-
|
|
54
|
-
**IMPORTANT - System-Managed Memory:**
|
|
55
|
-
Do NOT update these keys via memoryOps (managed automatically by tools/actions):
|
|
56
|
-
- notion-pages-cache (managed by Notion tools)
|
|
57
|
-
- knowledge-map-state (managed by navigate-knowledge)
|
|
58
|
-
|
|
59
|
-
Attempting to update system-managed keys will be rejected. Use tools to update their caches.
|
|
60
|
-
${preferences ? `\n**Agent-Specific Guidance:**\n${preferences}\n` : ''}
|
|
61
|
-
Framework auto-compacts history at 100% token budget.
|
|
62
|
-
You control WHAT to remember. Framework controls HOW compaction works.
|
|
63
|
-
|
|
64
|
-
`
|
|
65
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Memory Management Section
|
|
3
|
+
* Provides guidance on session memory operations (SET/DELETE) with dynamic status
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Memory status information for prompt generation
|
|
8
|
+
*/
|
|
9
|
+
export interface MemoryStatus {
|
|
10
|
+
sessionMemoryKeys: number
|
|
11
|
+
sessionMemoryLimit: number
|
|
12
|
+
historyPercent: number
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Builds the memory management section of the system prompt
|
|
17
|
+
* Includes SET/DELETE operations, memory status, and persistence guidance
|
|
18
|
+
*
|
|
19
|
+
* @param memoryStatus - Current memory usage statistics
|
|
20
|
+
* @param preferences - Optional agent-specific memory preferences (string)
|
|
21
|
+
* @returns Memory management prompt section
|
|
22
|
+
*/
|
|
23
|
+
export function buildMemoryPrompt(memoryStatus: MemoryStatus, preferences?: string): string {
|
|
24
|
+
return `## Memory Management
|
|
25
|
+
|
|
26
|
+
You have control over session memory. Use memoryOps to manage critical information:
|
|
27
|
+
|
|
28
|
+
**SET critical information:**
|
|
29
|
+
\`\`\`json
|
|
30
|
+
{
|
|
31
|
+
"memoryOps": {
|
|
32
|
+
"set": {
|
|
33
|
+
"customer_account": "Account #12345, Premium tier, expires 2026-03-15",
|
|
34
|
+
"original_request": "Fix broken widget"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
\`\`\`
|
|
39
|
+
|
|
40
|
+
**DELETE outdated information:**
|
|
41
|
+
\`\`\`json
|
|
42
|
+
{
|
|
43
|
+
"memoryOps": {
|
|
44
|
+
"delete": ["old_address", "cancelled_order"]
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
\`\`\`
|
|
48
|
+
|
|
49
|
+
**When to persist:**
|
|
50
|
+
- Memory at ${memoryStatus.historyPercent}%: ${memoryStatus.historyPercent >= 80 ? 'Proactively persist important context NOW (auto-compaction at 100%)' : 'Normal operation'}
|
|
51
|
+
- Session keys at ${memoryStatus.sessionMemoryKeys}/${memoryStatus.sessionMemoryLimit}: Delete outdated keys before adding new ones
|
|
52
|
+
- Always: Persist critical data that should survive memory compaction
|
|
53
|
+
|
|
54
|
+
**IMPORTANT - System-Managed Memory:**
|
|
55
|
+
Do NOT update these keys via memoryOps (managed automatically by tools/actions):
|
|
56
|
+
- notion-pages-cache (managed by Notion tools)
|
|
57
|
+
- knowledge-map-state (managed by navigate-knowledge)
|
|
58
|
+
|
|
59
|
+
Attempting to update system-managed keys will be rejected. Use tools to update their caches.
|
|
60
|
+
${preferences ? `\n**Agent-Specific Guidance:**\n${preferences}\n` : ''}
|
|
61
|
+
Framework auto-compacts history at 100% token budget.
|
|
62
|
+
You control WHAT to remember. Framework controls HOW compaction works.
|
|
63
|
+
|
|
64
|
+
`
|
|
65
|
+
}
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tools Section
|
|
3
|
-
* Formats available tools with input schemas and usage instructions
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import type { ToolDefinition } from '../../../tools/types'
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Builds the tools section of the system prompt
|
|
10
|
-
* Lists available tools with descriptions, input schemas, and usage examples
|
|
11
|
-
*
|
|
12
|
-
* @param tools - Array of tool definitions with schemas
|
|
13
|
-
* @returns Tools prompt section, or empty string if no tools
|
|
14
|
-
*/
|
|
15
|
-
export function buildToolsPrompt(tools: ToolDefinition[]): string {
|
|
16
|
-
if (tools.length === 0) {
|
|
17
|
-
return ''
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
let section = '## Available Tools\n\n'
|
|
21
|
-
section +=
|
|
22
|
-
'You have access to the following tools. To use a tool, include a tool-call action in your nextActions array:\n\n'
|
|
23
|
-
|
|
24
|
-
// List each tool with description and schema
|
|
25
|
-
tools.forEach((tool) => {
|
|
26
|
-
section += `### ${tool.name}\n`
|
|
27
|
-
section += `${tool.description}\n`
|
|
28
|
-
section += `Input schema: ${JSON.stringify(tool.inputSchema, null, 2)}\n\n`
|
|
29
|
-
})
|
|
30
|
-
|
|
31
|
-
// Add usage instructions
|
|
32
|
-
section += 'To call a tool, return a tool-call action:\n'
|
|
33
|
-
section +=
|
|
34
|
-
'{\n "type": "tool-call",\n "id": "unique-id",\n "name": "tool-name",\n "input": { /* tool input matching schema */ }\n}\n\n'
|
|
35
|
-
|
|
36
|
-
section += '**IMPORTANT RULES:**\n'
|
|
37
|
-
section += '1. "complete" CANNOT mix with tool-call or navigate-knowledge actions in the same response\n'
|
|
38
|
-
section += '2. "complete" CAN mix with message — always pair your final message with complete in the same iteration\n'
|
|
39
|
-
section += '3. To use tools, return ONLY tool-call actions, then wait for results in the next iteration\n'
|
|
40
|
-
section += '4. After receiving tool results, you can either call more tools OR complete with final answer\n'
|
|
41
|
-
section += '5. navigate-knowledge actions load new capabilities - tools become available in the next iteration\n'
|
|
42
|
-
|
|
43
|
-
return section + '\n'
|
|
44
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Tools Section
|
|
3
|
+
* Formats available tools with input schemas and usage instructions
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { ToolDefinition } from '../../../tools/types'
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Builds the tools section of the system prompt
|
|
10
|
+
* Lists available tools with descriptions, input schemas, and usage examples
|
|
11
|
+
*
|
|
12
|
+
* @param tools - Array of tool definitions with schemas
|
|
13
|
+
* @returns Tools prompt section, or empty string if no tools
|
|
14
|
+
*/
|
|
15
|
+
export function buildToolsPrompt(tools: ToolDefinition[]): string {
|
|
16
|
+
if (tools.length === 0) {
|
|
17
|
+
return ''
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
let section = '## Available Tools\n\n'
|
|
21
|
+
section +=
|
|
22
|
+
'You have access to the following tools. To use a tool, include a tool-call action in your nextActions array:\n\n'
|
|
23
|
+
|
|
24
|
+
// List each tool with description and schema
|
|
25
|
+
tools.forEach((tool) => {
|
|
26
|
+
section += `### ${tool.name}\n`
|
|
27
|
+
section += `${tool.description}\n`
|
|
28
|
+
section += `Input schema: ${JSON.stringify(tool.inputSchema, null, 2)}\n\n`
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
// Add usage instructions
|
|
32
|
+
section += 'To call a tool, return a tool-call action:\n'
|
|
33
|
+
section +=
|
|
34
|
+
'{\n "type": "tool-call",\n "id": "unique-id",\n "name": "tool-name",\n "input": { /* tool input matching schema */ }\n}\n\n'
|
|
35
|
+
|
|
36
|
+
section += '**IMPORTANT RULES:**\n'
|
|
37
|
+
section += '1. "complete" CANNOT mix with tool-call or navigate-knowledge actions in the same response\n'
|
|
38
|
+
section += '2. "complete" CAN mix with message — always pair your final message with complete in the same iteration\n'
|
|
39
|
+
section += '3. To use tools, return ONLY tool-call actions, then wait for results in the next iteration\n'
|
|
40
|
+
section += '4. After receiving tool results, you can either call more tools OR complete with final answer\n'
|
|
41
|
+
section += '5. navigate-knowledge actions load new capabilities - tools become available in the next iteration\n'
|
|
42
|
+
|
|
43
|
+
return section + '\n'
|
|
44
|
+
}
|