@raybase/core 0.0.2 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/.admin-build/AdminApp.css +2 -0
- package/dist/.admin-build/AdminApp.js +77 -0
- package/dist/.admin-docs-build/AdminDocsApp.css +2 -0
- package/dist/.admin-docs-build/AdminDocsApp.js +45 -0
- package/dist/actions.d.ts +347 -0
- package/dist/actions.d.ts.map +1 -0
- package/dist/actions.js +661 -0
- package/dist/actions.js.map +1 -0
- package/dist/admin-assets/admin.7738f50720a8ed7b.css +2 -0
- package/dist/admin-assets/admin.8678cb61db34dc81.js +77 -0
- package/dist/admin-boot.d.ts +94 -0
- package/dist/admin-boot.d.ts.map +1 -0
- package/dist/admin-boot.js +139 -0
- package/dist/admin-boot.js.map +1 -0
- package/dist/admin-docs-content.d.ts +95 -0
- package/dist/admin-docs-content.d.ts.map +1 -0
- package/dist/admin-docs-content.js +463 -0
- package/dist/admin-docs-content.js.map +1 -0
- package/dist/admin-docs-ui.d.ts +11 -0
- package/dist/admin-docs-ui.d.ts.map +1 -0
- package/dist/admin-docs-ui.js +23 -0
- package/dist/admin-docs-ui.js.map +1 -0
- package/dist/admin-kit.d.ts +29 -0
- package/dist/admin-kit.js +1557 -0
- package/dist/admin-role.d.ts +8 -0
- package/dist/admin-role.d.ts.map +1 -0
- package/dist/admin-role.js +22 -0
- package/dist/admin-role.js.map +1 -0
- package/dist/admin-ui.d.ts +3 -0
- package/dist/admin-ui.d.ts.map +1 -0
- package/dist/admin-ui.js +16 -0
- package/dist/admin-ui.js.map +1 -0
- package/dist/agent-ai-chat.d.ts +127 -0
- package/dist/agent-ai-chat.d.ts.map +1 -0
- package/dist/agent-ai-chat.js +5975 -0
- package/dist/agent-ai-chat.js.map +1 -0
- package/dist/agent-chapter-archive.d.ts +214 -0
- package/dist/agent-chapter-archive.d.ts.map +1 -0
- package/dist/agent-chapter-archive.js +696 -0
- package/dist/agent-chapter-archive.js.map +1 -0
- package/dist/agent-chapter-search.d.ts +116 -0
- package/dist/agent-chapter-search.d.ts.map +1 -0
- package/dist/agent-chapter-search.js +605 -0
- package/dist/agent-chapter-search.js.map +1 -0
- package/dist/agent-chapter-tools.d.ts +45 -0
- package/dist/agent-chapter-tools.d.ts.map +1 -0
- package/dist/agent-chapter-tools.js +344 -0
- package/dist/agent-chapter-tools.js.map +1 -0
- package/dist/agent-chapters.d.ts +228 -0
- package/dist/agent-chapters.d.ts.map +1 -0
- package/dist/agent-chapters.js +737 -0
- package/dist/agent-chapters.js.map +1 -0
- package/dist/agent-data-parts.d.ts +167 -0
- package/dist/agent-data-parts.d.ts.map +1 -0
- package/dist/agent-data-parts.js +68 -0
- package/dist/agent-data-parts.js.map +1 -0
- package/dist/agent-errors.d.ts +41 -0
- package/dist/agent-errors.d.ts.map +1 -0
- package/dist/agent-errors.js +191 -0
- package/dist/agent-errors.js.map +1 -0
- package/dist/agent-follow-up-store.d.ts +273 -0
- package/dist/agent-follow-up-store.d.ts.map +1 -0
- package/dist/agent-follow-up-store.js +703 -0
- package/dist/agent-follow-up-store.js.map +1 -0
- package/dist/agent-follow-ups.d.ts +314 -0
- package/dist/agent-follow-ups.d.ts.map +1 -0
- package/dist/agent-follow-ups.js +840 -0
- package/dist/agent-follow-ups.js.map +1 -0
- package/dist/agent-memory.d.ts +323 -0
- package/dist/agent-memory.d.ts.map +1 -0
- package/dist/agent-memory.js +1270 -0
- package/dist/agent-memory.js.map +1 -0
- package/dist/agent-message-parts.d.ts +58 -0
- package/dist/agent-message-parts.d.ts.map +1 -0
- package/dist/agent-message-parts.js +163 -0
- package/dist/agent-message-parts.js.map +1 -0
- package/dist/agent-remote-mcp-credentials.d.ts +154 -0
- package/dist/agent-remote-mcp-credentials.d.ts.map +1 -0
- package/dist/agent-remote-mcp-credentials.js +287 -0
- package/dist/agent-remote-mcp-credentials.js.map +1 -0
- package/dist/agent-remote-mcp-crypto.d.ts +32 -0
- package/dist/agent-remote-mcp-crypto.d.ts.map +1 -0
- package/dist/agent-remote-mcp-crypto.js +101 -0
- package/dist/agent-remote-mcp-crypto.js.map +1 -0
- package/dist/agent-remote-mcp-install.d.ts +299 -0
- package/dist/agent-remote-mcp-install.d.ts.map +1 -0
- package/dist/agent-remote-mcp-install.js +785 -0
- package/dist/agent-remote-mcp-install.js.map +1 -0
- package/dist/agent-remote-mcp-oauth.d.ts +73 -0
- package/dist/agent-remote-mcp-oauth.d.ts.map +1 -0
- package/dist/agent-remote-mcp-oauth.js +344 -0
- package/dist/agent-remote-mcp-oauth.js.map +1 -0
- package/dist/agent-remote-mcp-transport.d.ts +46 -0
- package/dist/agent-remote-mcp-transport.d.ts.map +1 -0
- package/dist/agent-remote-mcp-transport.js +225 -0
- package/dist/agent-remote-mcp-transport.js.map +1 -0
- package/dist/agent-remote-mcp.d.ts +147 -0
- package/dist/agent-remote-mcp.d.ts.map +1 -0
- package/dist/agent-remote-mcp.js +681 -0
- package/dist/agent-remote-mcp.js.map +1 -0
- package/dist/agent-room-redaction.d.ts +66 -0
- package/dist/agent-room-redaction.d.ts.map +1 -0
- package/dist/agent-room-redaction.js +264 -0
- package/dist/agent-room-redaction.js.map +1 -0
- package/dist/agent-rooms.d.ts +209 -0
- package/dist/agent-rooms.d.ts.map +1 -0
- package/dist/agent-rooms.js +244 -0
- package/dist/agent-rooms.js.map +1 -0
- package/dist/agent-runtime.d.ts +541 -0
- package/dist/agent-runtime.d.ts.map +1 -0
- package/dist/agent-runtime.js +4260 -0
- package/dist/agent-runtime.js.map +1 -0
- package/dist/agent-skill-archive.d.ts +20 -0
- package/dist/agent-skill-archive.d.ts.map +1 -0
- package/dist/agent-skill-archive.js +316 -0
- package/dist/agent-skill-archive.js.map +1 -0
- package/dist/agent-skill-discovery.d.ts +96 -0
- package/dist/agent-skill-discovery.d.ts.map +1 -0
- package/dist/agent-skill-discovery.js +464 -0
- package/dist/agent-skill-discovery.js.map +1 -0
- package/dist/agent-skill-format.d.ts +57 -0
- package/dist/agent-skill-format.d.ts.map +1 -0
- package/dist/agent-skill-format.js +238 -0
- package/dist/agent-skill-format.js.map +1 -0
- package/dist/agent-skill-import.d.ts +64 -0
- package/dist/agent-skill-import.d.ts.map +1 -0
- package/dist/agent-skill-import.js +295 -0
- package/dist/agent-skill-import.js.map +1 -0
- package/dist/agent-skill-publish.d.ts +51 -0
- package/dist/agent-skill-publish.d.ts.map +1 -0
- package/dist/agent-skill-publish.js +136 -0
- package/dist/agent-skill-publish.js.map +1 -0
- package/dist/agent-skill-store.d.ts +252 -0
- package/dist/agent-skill-store.d.ts.map +1 -0
- package/dist/agent-skill-store.js +514 -0
- package/dist/agent-skill-store.js.map +1 -0
- package/dist/agent-skills.d.ts +85 -0
- package/dist/agent-skills.d.ts.map +1 -0
- package/dist/agent-skills.js +291 -0
- package/dist/agent-skills.js.map +1 -0
- package/dist/agent-transcript-pager.d.ts +77 -0
- package/dist/agent-transcript-pager.d.ts.map +1 -0
- package/dist/agent-transcript-pager.js +210 -0
- package/dist/agent-transcript-pager.js.map +1 -0
- package/dist/agent-user-data-parts.d.ts +20 -0
- package/dist/agent-user-data-parts.d.ts.map +1 -0
- package/dist/agent-user-data-parts.js +161 -0
- package/dist/agent-user-data-parts.js.map +1 -0
- package/dist/agent-user-transcript.d.ts +46 -0
- package/dist/agent-user-transcript.d.ts.map +1 -0
- package/dist/agent-user-transcript.js +106 -0
- package/dist/agent-user-transcript.js.map +1 -0
- package/dist/agent-voice-notes.d.ts +15 -0
- package/dist/agent-voice-notes.d.ts.map +1 -0
- package/dist/agent-voice-notes.js +17 -0
- package/dist/agent-voice-notes.js.map +1 -0
- package/dist/agent-wakes.d.ts +213 -0
- package/dist/agent-wakes.d.ts.map +1 -0
- package/dist/agent-wakes.js +534 -0
- package/dist/agent-wakes.js.map +1 -0
- package/dist/agent.d.ts +1780 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +3123 -0
- package/dist/agent.js.map +1 -0
- package/dist/ai.d.ts +583 -0
- package/dist/ai.d.ts.map +1 -0
- package/dist/ai.js +1858 -0
- package/dist/ai.js.map +1 -0
- package/dist/app-manifest.d.ts +255 -0
- package/dist/app-manifest.d.ts.map +1 -0
- package/dist/app-manifest.js +372 -0
- package/dist/app-manifest.js.map +1 -0
- package/dist/app-users.d.ts +30 -0
- package/dist/app-users.d.ts.map +1 -0
- package/dist/app-users.js +91 -0
- package/dist/app-users.js.map +1 -0
- package/dist/audit-archive.d.ts +85 -0
- package/dist/audit-archive.d.ts.map +1 -0
- package/dist/audit-archive.js +178 -0
- package/dist/audit-archive.js.map +1 -0
- package/dist/audit.d.ts +54 -0
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +95 -0
- package/dist/audit.js.map +1 -0
- package/dist/auth-logger.d.ts +28 -0
- package/dist/auth-logger.d.ts.map +1 -0
- package/dist/auth-logger.js +53 -0
- package/dist/auth-logger.js.map +1 -0
- package/dist/auth-password-secret.d.ts +59 -0
- package/dist/auth-password-secret.d.ts.map +1 -0
- package/dist/auth-password-secret.js +409 -0
- package/dist/auth-password-secret.js.map +1 -0
- package/dist/auth-schema.d.ts +120 -0
- package/dist/auth-schema.d.ts.map +1 -0
- package/dist/auth-schema.js +285 -0
- package/dist/auth-schema.js.map +1 -0
- package/dist/auth.d.ts +321 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +1562 -0
- package/dist/auth.js.map +1 -0
- package/dist/backup-archive.d.ts +257 -0
- package/dist/backup-archive.d.ts.map +1 -0
- package/dist/backup-archive.js +2068 -0
- package/dist/backup-archive.js.map +1 -0
- package/dist/backup-crypto.d.ts +313 -0
- package/dist/backup-crypto.d.ts.map +1 -0
- package/dist/backup-crypto.js +693 -0
- package/dist/backup-crypto.js.map +1 -0
- package/dist/backup-format.d.ts +200 -0
- package/dist/backup-format.d.ts.map +1 -0
- package/dist/backup-format.js +1247 -0
- package/dist/backup-format.js.map +1 -0
- package/dist/cli.d.ts +9 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +15 -0
- package/dist/cli.js.map +1 -0
- package/dist/clock.d.ts +35 -0
- package/dist/clock.d.ts.map +1 -0
- package/dist/clock.js +83 -0
- package/dist/clock.js.map +1 -0
- package/dist/data-client.d.ts +187 -0
- package/dist/data-client.d.ts.map +1 -0
- package/dist/data-client.js +590 -0
- package/dist/data-client.js.map +1 -0
- package/dist/data-secrets.d.ts +164 -0
- package/dist/data-secrets.d.ts.map +1 -0
- package/dist/data-secrets.js +383 -0
- package/dist/data-secrets.js.map +1 -0
- package/dist/db.d.ts +453 -0
- package/dist/db.d.ts.map +1 -0
- package/dist/db.js +324 -0
- package/dist/db.js.map +1 -0
- package/dist/dev-activity.d.ts +48 -0
- package/dist/dev-activity.d.ts.map +1 -0
- package/dist/dev-activity.js +50 -0
- package/dist/dev-activity.js.map +1 -0
- package/dist/do.d.ts +429 -0
- package/dist/do.d.ts.map +1 -0
- package/dist/do.js +4526 -0
- package/dist/do.js.map +1 -0
- package/dist/email.d.ts +137 -0
- package/dist/email.d.ts.map +1 -0
- package/dist/email.js +527 -0
- package/dist/email.js.map +1 -0
- package/dist/generated/admin-assets.d.ts +16 -0
- package/dist/generated/admin-assets.d.ts.map +1 -0
- package/dist/generated/admin-assets.js +16 -0
- package/dist/generated/admin-assets.js.map +1 -0
- package/dist/generated/admin-docs-assets.d.ts +3 -0
- package/dist/generated/admin-docs-assets.d.ts.map +1 -0
- package/dist/generated/admin-docs-assets.js +3 -0
- package/dist/generated/admin-docs-assets.js.map +1 -0
- package/dist/handoff-consumer.d.ts +79 -0
- package/dist/handoff-consumer.d.ts.map +1 -0
- package/dist/handoff-consumer.js +300 -0
- package/dist/handoff-consumer.js.map +1 -0
- package/dist/handoff.d.ts +70 -0
- package/dist/handoff.d.ts.map +1 -0
- package/dist/handoff.js +228 -0
- package/dist/handoff.js.map +1 -0
- package/dist/host-auth.d.ts +47 -0
- package/dist/host-auth.d.ts.map +1 -0
- package/dist/host-auth.js +59 -0
- package/dist/host-auth.js.map +1 -0
- package/dist/host-user.d.ts +15 -0
- package/dist/host-user.d.ts.map +1 -0
- package/dist/host-user.js +23 -0
- package/dist/host-user.js.map +1 -0
- package/dist/html.d.ts +35 -0
- package/dist/html.d.ts.map +1 -0
- package/dist/html.js +634 -0
- package/dist/html.js.map +1 -0
- package/dist/http-error.d.ts +13 -0
- package/dist/http-error.d.ts.map +1 -0
- package/dist/http-error.js +15 -0
- package/dist/http-error.js.map +1 -0
- package/dist/imports.d.ts +219 -0
- package/dist/imports.d.ts.map +1 -0
- package/dist/imports.js +571 -0
- package/dist/imports.js.map +1 -0
- package/dist/index.d.ts +78 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +76 -0
- package/dist/index.js.map +1 -0
- package/dist/inference-tape.d.ts +64 -0
- package/dist/inference-tape.d.ts.map +1 -0
- package/dist/inference-tape.js +278 -0
- package/dist/inference-tape.js.map +1 -0
- package/dist/internal.d.ts +15 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +48 -0
- package/dist/internal.js.map +1 -0
- package/dist/jobs.d.ts +796 -0
- package/dist/jobs.d.ts.map +1 -0
- package/dist/jobs.js +538 -0
- package/dist/jobs.js.map +1 -0
- package/dist/json-schema.d.ts +91 -0
- package/dist/json-schema.d.ts.map +1 -0
- package/dist/json-schema.js +884 -0
- package/dist/json-schema.js.map +1 -0
- package/dist/knowledge.d.ts +33 -0
- package/dist/knowledge.d.ts.map +1 -0
- package/dist/knowledge.js +348 -0
- package/dist/knowledge.js.map +1 -0
- package/dist/local-dev-chrome.d.ts +29 -0
- package/dist/local-dev-chrome.d.ts.map +1 -0
- package/dist/local-dev-chrome.js +514 -0
- package/dist/local-dev-chrome.js.map +1 -0
- package/dist/local-dev-personas.d.ts +15 -0
- package/dist/local-dev-personas.d.ts.map +1 -0
- package/dist/local-dev-personas.js +46 -0
- package/dist/local-dev-personas.js.map +1 -0
- package/dist/mcp.d.ts +567 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +2480 -0
- package/dist/mcp.js.map +1 -0
- package/dist/modules.d.ts +145 -0
- package/dist/modules.d.ts.map +1 -0
- package/dist/modules.js +164 -0
- package/dist/modules.js.map +1 -0
- package/dist/notification-client.d.ts +94 -0
- package/dist/notification-client.d.ts.map +1 -0
- package/dist/notification-client.js +127 -0
- package/dist/notification-client.js.map +1 -0
- package/dist/notifications.d.ts +447 -0
- package/dist/notifications.d.ts.map +1 -0
- package/dist/notifications.js +1625 -0
- package/dist/notifications.js.map +1 -0
- package/dist/operator-data-query.d.ts +117 -0
- package/dist/operator-data-query.d.ts.map +1 -0
- package/dist/operator-data-query.js +431 -0
- package/dist/operator-data-query.js.map +1 -0
- package/dist/operator-mcp.d.ts +63 -0
- package/dist/operator-mcp.d.ts.map +1 -0
- package/dist/operator-mcp.js +2828 -0
- package/dist/operator-mcp.js.map +1 -0
- package/dist/outbound-https.d.ts +24 -0
- package/dist/outbound-https.d.ts.map +1 -0
- package/dist/outbound-https.js +172 -0
- package/dist/outbound-https.js.map +1 -0
- package/dist/pitr.d.ts +60 -0
- package/dist/pitr.d.ts.map +1 -0
- package/dist/pitr.js +94 -0
- package/dist/pitr.js.map +1 -0
- package/dist/platform.d.ts +199 -0
- package/dist/platform.d.ts.map +1 -0
- package/dist/platform.js +196 -0
- package/dist/platform.js.map +1 -0
- package/dist/policies.d.ts +115 -0
- package/dist/policies.d.ts.map +1 -0
- package/dist/policies.js +158 -0
- package/dist/policies.js.map +1 -0
- package/dist/principal.d.ts +143 -0
- package/dist/principal.d.ts.map +1 -0
- package/dist/principal.js +174 -0
- package/dist/principal.js.map +1 -0
- package/dist/realtime.d.ts +280 -0
- package/dist/realtime.d.ts.map +1 -0
- package/dist/realtime.js +578 -0
- package/dist/realtime.js.map +1 -0
- package/dist/retrieval.d.ts +263 -0
- package/dist/retrieval.d.ts.map +1 -0
- package/dist/retrieval.js +602 -0
- package/dist/retrieval.js.map +1 -0
- package/dist/runtime-error-client.d.ts +10 -0
- package/dist/runtime-error-client.d.ts.map +1 -0
- package/dist/runtime-error-client.js +70 -0
- package/dist/runtime-error-client.js.map +1 -0
- package/dist/runtime-errors.d.ts +180 -0
- package/dist/runtime-errors.d.ts.map +1 -0
- package/dist/runtime-errors.js +572 -0
- package/dist/runtime-errors.js.map +1 -0
- package/dist/schema.d.ts +434 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +232 -0
- package/dist/schema.js.map +1 -0
- package/dist/search.d.ts +216 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/search.js +785 -0
- package/dist/search.js.map +1 -0
- package/dist/settings.d.ts +191 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +478 -0
- package/dist/settings.js.map +1 -0
- package/dist/sql.d.ts +7 -0
- package/dist/sql.d.ts.map +1 -0
- package/dist/sql.js +30 -0
- package/dist/sql.js.map +1 -0
- package/dist/storage-client.d.ts +69 -0
- package/dist/storage-client.d.ts.map +1 -0
- package/dist/storage-client.js +469 -0
- package/dist/storage-client.js.map +1 -0
- package/dist/storage.d.ts +21 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +82 -0
- package/dist/storage.js.map +1 -0
- package/dist/subject-domains.d.ts +15 -0
- package/dist/subject-domains.d.ts.map +1 -0
- package/dist/subject-domains.js +38 -0
- package/dist/subject-domains.js.map +1 -0
- package/dist/support.d.ts +132 -0
- package/dist/support.d.ts.map +1 -0
- package/dist/support.js +483 -0
- package/dist/support.js.map +1 -0
- package/dist/system-tables.d.ts +12 -0
- package/dist/system-tables.d.ts.map +1 -0
- package/dist/system-tables.js +225 -0
- package/dist/system-tables.js.map +1 -0
- package/dist/test.d.ts +57 -0
- package/dist/test.d.ts.map +1 -0
- package/dist/test.js +454 -0
- package/dist/test.js.map +1 -0
- package/dist/vite.d.ts +82 -0
- package/dist/vite.d.ts.map +1 -0
- package/dist/vite.js +82 -0
- package/dist/vite.js.map +1 -0
- package/dist/webpush-crypto.d.ts +39 -0
- package/dist/webpush-crypto.d.ts.map +1 -0
- package/dist/webpush-crypto.js +213 -0
- package/dist/webpush-crypto.js.map +1 -0
- package/dist/webpush-private.d.ts +11 -0
- package/dist/webpush-private.d.ts.map +1 -0
- package/dist/webpush-private.js +11 -0
- package/dist/webpush-private.js.map +1 -0
- package/dist/webpush.d.ts +86 -0
- package/dist/webpush.d.ts.map +1 -0
- package/dist/webpush.js +375 -0
- package/dist/webpush.js.map +1 -0
- package/dist/worker.d.ts +185 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +13021 -0
- package/dist/worker.js.map +1 -0
- package/package.json +161 -8
- package/README.md +0 -3
package/dist/mcp.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import type { RaybaseActions } from "./actions.js";
|
|
2
|
+
import type { RaybaseAgentEnqueueOptions, RaybaseAgentEnqueueResult, RaybaseAgents } from "./agent.js";
|
|
3
|
+
import type { RaybaseInferenceProviderFactory } from "./ai.js";
|
|
4
|
+
import type { RaybaseAuditContextEvent } from "./audit.js";
|
|
5
|
+
import type { RaybaseDataClient } from "./data-client.js";
|
|
6
|
+
import type { DoMigration, SqlExecutor } from "./db.js";
|
|
7
|
+
import { type RaybaseJobDefinitions, type RaybaseJobs, type RaybaseJobsRuntime } from "./jobs.js";
|
|
8
|
+
import type { RaybaseMcpResource, RaybaseMcpTool } from "./mcp.js";
|
|
9
|
+
import { type RaybaseNotifications, type RaybaseNotificationsRuntime } from "./notifications.js";
|
|
10
|
+
import type { RaybaseUser } from "./policies.js";
|
|
11
|
+
import type { RaybaseRetrieval } from "./retrieval.js";
|
|
12
|
+
import type { RaybaseSchema, RaybaseConfig, RaybaseSystemTable } from "./schema.js";
|
|
13
|
+
import type { RaybaseSearch } from "./search.js";
|
|
14
|
+
import type { RaybaseSettingsDefinitions, RaybaseRuntimeSettings } from "./settings.js";
|
|
15
|
+
export type RaybaseModule<Env = unknown> = {
|
|
16
|
+
id: string;
|
|
17
|
+
packageName: string;
|
|
18
|
+
version?: string;
|
|
19
|
+
runtime?: (ctx: RaybaseModuleRuntimeContext<Env>) => RaybaseModuleRuntimeContribution<Env>;
|
|
20
|
+
};
|
|
21
|
+
export type RaybaseModuleRuntimeContext<Env = unknown> = {
|
|
22
|
+
config: RaybaseConfig;
|
|
23
|
+
schema: RaybaseSchema;
|
|
24
|
+
appMigrations?: DoMigration[];
|
|
25
|
+
actions?: RaybaseActions<Env>;
|
|
26
|
+
agents?: RaybaseAgents<Env>;
|
|
27
|
+
retrieval?: RaybaseRetrieval<Env>;
|
|
28
|
+
search?: RaybaseSearch<Env>;
|
|
29
|
+
};
|
|
30
|
+
export type RaybaseModuleRuntimeContribution<Env = unknown> = {
|
|
31
|
+
systemTables?: RaybaseSystemTable[];
|
|
32
|
+
settings?: RaybaseSettingsDefinitions<Env>;
|
|
33
|
+
actions?: RaybaseActions<Env>;
|
|
34
|
+
agents?: RaybaseAgents<Env>;
|
|
35
|
+
jobs?: RaybaseJobDefinitions;
|
|
36
|
+
notifications?: RaybaseNotifications<Env>;
|
|
37
|
+
retrieval?: RaybaseRetrieval<Env>;
|
|
38
|
+
search?: RaybaseSearch<Env>;
|
|
39
|
+
inferenceProviders?: Record<string, RaybaseInferenceProviderDescriptor<Env>>;
|
|
40
|
+
routes?: RaybaseModuleRoute<Env>[];
|
|
41
|
+
adminRoutes?: RaybaseModuleRoute<Env>[];
|
|
42
|
+
mcpTools?: RaybaseMcpTool<unknown, Env>[];
|
|
43
|
+
mcpResources?: RaybaseMcpResource[];
|
|
44
|
+
agentSurfaces?: RaybaseAgentSurfaceResolver[];
|
|
45
|
+
operatorPermissions?: string[];
|
|
46
|
+
manifest?: RaybaseModuleManifestContribution;
|
|
47
|
+
};
|
|
48
|
+
export type RaybaseGuideModuleManifest = {
|
|
49
|
+
enabled: boolean;
|
|
50
|
+
agentName: string;
|
|
51
|
+
mode: "actions" | "knowledge-only" | "implicit";
|
|
52
|
+
hasExplicitCorpus: boolean;
|
|
53
|
+
corpusDocumentCount: number;
|
|
54
|
+
actionNames: string[];
|
|
55
|
+
explicitActionNames: string[];
|
|
56
|
+
};
|
|
57
|
+
export type RaybaseModuleManifestContribution = {
|
|
58
|
+
id: string;
|
|
59
|
+
packageName?: string;
|
|
60
|
+
guide?: RaybaseGuideModuleManifest;
|
|
61
|
+
inferenceProviders?: Array<{
|
|
62
|
+
id: string;
|
|
63
|
+
capabilities: RaybaseInferenceProviderCapabilities;
|
|
64
|
+
}>;
|
|
65
|
+
};
|
|
66
|
+
export type RaybaseInferenceProviderCapabilities = {
|
|
67
|
+
chat: boolean;
|
|
68
|
+
stream: boolean;
|
|
69
|
+
embed: boolean;
|
|
70
|
+
};
|
|
71
|
+
export type RaybaseInferenceProviderDescriptor<Env = unknown> = {
|
|
72
|
+
id: string;
|
|
73
|
+
capabilities: RaybaseInferenceProviderCapabilities;
|
|
74
|
+
factory: RaybaseInferenceProviderFactory<Env>;
|
|
75
|
+
};
|
|
76
|
+
export type RaybaseModuleRouteMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "ALL";
|
|
77
|
+
export type RaybaseModuleRouteAuth = "public" | "user" | "admin";
|
|
78
|
+
export type RaybaseModuleRoute<Env = unknown> = {
|
|
79
|
+
method: RaybaseModuleRouteMethod;
|
|
80
|
+
path: string;
|
|
81
|
+
auth?: RaybaseModuleRouteAuth;
|
|
82
|
+
csrf?: "bypass";
|
|
83
|
+
owner?: RaybaseModuleRouteOwner;
|
|
84
|
+
guard?: (ctx: RaybaseModuleRouteContext<Env>) => Response | null | Promise<Response | null>;
|
|
85
|
+
handle: (ctx: RaybaseModuleRouteContext<Env>) => Response | Promise<Response>;
|
|
86
|
+
};
|
|
87
|
+
export type RaybaseModuleRouteOwner = {
|
|
88
|
+
moduleId: string;
|
|
89
|
+
packageName: string;
|
|
90
|
+
};
|
|
91
|
+
export type RaybaseModuleRouteContext<Env = unknown> = {
|
|
92
|
+
request: Request;
|
|
93
|
+
env: Env;
|
|
94
|
+
config: RaybaseConfig;
|
|
95
|
+
schema: RaybaseSchema;
|
|
96
|
+
appMigrations?: DoMigration[];
|
|
97
|
+
session?: Record<string, unknown>;
|
|
98
|
+
user?: RaybaseUser;
|
|
99
|
+
organizationId?: string | null;
|
|
100
|
+
control: SqlExecutor;
|
|
101
|
+
data: RaybaseDataClient;
|
|
102
|
+
settings: RaybaseRuntimeSettings<Env, RaybaseSettingsDefinitions<Env>>;
|
|
103
|
+
notifications: RaybaseNotificationsRuntime<Env>;
|
|
104
|
+
jobs: RaybaseJobsRuntime;
|
|
105
|
+
agents: {
|
|
106
|
+
enqueue(agentName: string, options?: RaybaseAgentEnqueueOptions): Promise<RaybaseAgentEnqueueResult>;
|
|
107
|
+
};
|
|
108
|
+
audit: (entry: RaybaseAuditContextEvent) => Promise<void>;
|
|
109
|
+
json: (body: unknown, status?: number) => Response;
|
|
110
|
+
notFound: () => Response;
|
|
111
|
+
requireUser: () => RaybaseUser;
|
|
112
|
+
requireAdmin: () => RaybaseUser;
|
|
113
|
+
isLocal: boolean;
|
|
114
|
+
};
|
|
115
|
+
export type RaybaseAgentSurfaceResolver = {
|
|
116
|
+
surface: string;
|
|
117
|
+
pathPrefix: string;
|
|
118
|
+
owner?: "spine" | "site";
|
|
119
|
+
audience?: "signed-in" | "public";
|
|
120
|
+
};
|
|
121
|
+
export type ResolvedRaybaseModules<Env = unknown> = {
|
|
122
|
+
modules: RaybaseModule<Env>[];
|
|
123
|
+
systemTables: RaybaseSystemTable[];
|
|
124
|
+
settings: RaybaseSettingsDefinitions<Env>;
|
|
125
|
+
actions: RaybaseActions<Env>;
|
|
126
|
+
agents: RaybaseAgents<Env>;
|
|
127
|
+
jobs: RaybaseJobs;
|
|
128
|
+
notifications?: RaybaseNotifications<Env>;
|
|
129
|
+
retrieval?: RaybaseRetrieval<Env>;
|
|
130
|
+
search?: RaybaseSearch<Env>;
|
|
131
|
+
inferenceProviders: Record<string, RaybaseInferenceProviderDescriptor<Env>>;
|
|
132
|
+
routes: RaybaseModuleRoute<Env>[];
|
|
133
|
+
adminRoutes: RaybaseModuleRoute<Env>[];
|
|
134
|
+
mcpTools: RaybaseMcpTool<unknown, Env>[];
|
|
135
|
+
mcpResources: RaybaseMcpResource[];
|
|
136
|
+
agentSurfaces: RaybaseAgentSurfaceResolver[];
|
|
137
|
+
operatorPermissions: string[];
|
|
138
|
+
manifests: RaybaseModuleManifestContribution[];
|
|
139
|
+
};
|
|
140
|
+
export declare function defineRaybaseModule<Env = unknown>(module: RaybaseModule<Env>): RaybaseModule<Env>;
|
|
141
|
+
export declare function resolveRaybaseModules<Env = unknown>(modules: RaybaseModule<Env>[] | undefined, ctx: RaybaseModuleRuntimeContext<Env>): ResolvedRaybaseModules<Env>;
|
|
142
|
+
export declare function mergeRaybaseSearch<Env>(base: RaybaseSearch<Env> | undefined, contribution: RaybaseSearch<Env> | undefined): RaybaseSearch<Env> | undefined;
|
|
143
|
+
export declare function mergeRaybaseRetrieval<Env>(base: RaybaseRetrieval<Env> | undefined, contribution: RaybaseRetrieval<Env> | undefined): RaybaseRetrieval<Env> | undefined;
|
|
144
|
+
export declare function mergeRaybaseRecords<T>(base: Record<string, T> | undefined, contribution: Record<string, T> | undefined, label: string): Record<string, T> | undefined;
|
|
145
|
+
//# sourceMappingURL=modules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"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"}
|
package/dist/modules.js
ADDED
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { mergeRaybaseJobs } from "./jobs.js";
|
|
2
|
+
import { mergeRaybaseNotifications } from "./notifications.js";
|
|
3
|
+
export function defineRaybaseModule(module) {
|
|
4
|
+
return module;
|
|
5
|
+
}
|
|
6
|
+
export function resolveRaybaseModules(modules, ctx) {
|
|
7
|
+
const seenIds = new Set();
|
|
8
|
+
const contributions = [];
|
|
9
|
+
for (const module of modules ?? []) {
|
|
10
|
+
if (seenIds.has(module.id))
|
|
11
|
+
throw new Error(`Duplicate Raybase module id: ${module.id}`);
|
|
12
|
+
seenIds.add(module.id);
|
|
13
|
+
contributions.push({ module, contribution: module.runtime?.(ctx) ?? {} });
|
|
14
|
+
}
|
|
15
|
+
const resolved = {
|
|
16
|
+
modules: Object.freeze([...(modules ?? [])]),
|
|
17
|
+
systemTables: [],
|
|
18
|
+
settings: {},
|
|
19
|
+
actions: {},
|
|
20
|
+
agents: {},
|
|
21
|
+
jobs: {},
|
|
22
|
+
inferenceProviders: {},
|
|
23
|
+
routes: [],
|
|
24
|
+
adminRoutes: [],
|
|
25
|
+
mcpTools: [],
|
|
26
|
+
mcpResources: [],
|
|
27
|
+
agentSurfaces: [],
|
|
28
|
+
operatorPermissions: [],
|
|
29
|
+
manifests: []
|
|
30
|
+
};
|
|
31
|
+
const searchIndexes = {};
|
|
32
|
+
const retrievalIndexes = {};
|
|
33
|
+
const seenRoutes = new Map();
|
|
34
|
+
let hasSearch = false;
|
|
35
|
+
let hasRetrieval = false;
|
|
36
|
+
for (const { module, contribution } of contributions) {
|
|
37
|
+
resolved.systemTables.push(...(contribution.systemTables ?? []));
|
|
38
|
+
mergeNamed(resolved.settings, contribution.settings, "setting");
|
|
39
|
+
mergeNamed(resolved.actions, contribution.actions, "action");
|
|
40
|
+
mergeNamed(resolved.agents, contribution.agents, "agent");
|
|
41
|
+
resolved.jobs = mergeRaybaseJobs(resolved.jobs, contribution.jobs, "Duplicate Raybase module job");
|
|
42
|
+
resolved.notifications = mergeRaybaseNotifications(resolved.notifications, contribution.notifications, {
|
|
43
|
+
duplicateLabel: "Raybase module notification"
|
|
44
|
+
});
|
|
45
|
+
if (contribution.retrieval) {
|
|
46
|
+
hasRetrieval = true;
|
|
47
|
+
mergeNamed(retrievalIndexes, contribution.retrieval.indexes, "retrieval index");
|
|
48
|
+
}
|
|
49
|
+
if (contribution.search) {
|
|
50
|
+
hasSearch = true;
|
|
51
|
+
mergeNamed(searchIndexes, contribution.search.indexes, "search index");
|
|
52
|
+
}
|
|
53
|
+
for (const [providerId, descriptor] of Object.entries(contribution.inferenceProviders ?? {})) {
|
|
54
|
+
if (providerId !== descriptor.id) {
|
|
55
|
+
throw new Error(`Raybase module inference provider key "${providerId}" does not match descriptor id "${descriptor.id}"`);
|
|
56
|
+
}
|
|
57
|
+
if (resolved.inferenceProviders[providerId]) {
|
|
58
|
+
throw new Error(`Duplicate Raybase module inference provider: ${providerId}`);
|
|
59
|
+
}
|
|
60
|
+
resolved.inferenceProviders[providerId] = descriptor;
|
|
61
|
+
}
|
|
62
|
+
mergeRoutes(resolved.routes, contribution.routes, seenRoutes, { moduleId: module.id, packageName: module.packageName });
|
|
63
|
+
mergeRoutes(resolved.adminRoutes, contribution.adminRoutes, seenRoutes, { moduleId: module.id, packageName: module.packageName });
|
|
64
|
+
mergeMcpTools(resolved.mcpTools, contribution.mcpTools);
|
|
65
|
+
mergeMcpResources(resolved.mcpResources, contribution.mcpResources);
|
|
66
|
+
resolved.agentSurfaces.push(...(contribution.agentSurfaces ?? []));
|
|
67
|
+
resolved.operatorPermissions.push(...(contribution.operatorPermissions ?? []));
|
|
68
|
+
if (contribution.manifest)
|
|
69
|
+
resolved.manifests.push(contribution.manifest);
|
|
70
|
+
}
|
|
71
|
+
if (hasRetrieval)
|
|
72
|
+
resolved.retrieval = { indexes: retrievalIndexes };
|
|
73
|
+
if (hasSearch)
|
|
74
|
+
resolved.search = { indexes: searchIndexes };
|
|
75
|
+
return Object.freeze({
|
|
76
|
+
...resolved,
|
|
77
|
+
systemTables: Object.freeze(resolved.systemTables),
|
|
78
|
+
settings: Object.freeze(resolved.settings),
|
|
79
|
+
actions: Object.freeze(resolved.actions),
|
|
80
|
+
agents: Object.freeze(resolved.agents),
|
|
81
|
+
jobs: Object.freeze(resolved.jobs),
|
|
82
|
+
notifications: resolved.notifications
|
|
83
|
+
? Object.freeze({
|
|
84
|
+
...resolved.notifications,
|
|
85
|
+
channels: resolved.notifications.channels ? Object.freeze(resolved.notifications.channels) : undefined,
|
|
86
|
+
inbound: resolved.notifications.inbound ? Object.freeze(resolved.notifications.inbound) : undefined
|
|
87
|
+
})
|
|
88
|
+
: undefined,
|
|
89
|
+
retrieval: resolved.retrieval ? Object.freeze({ indexes: Object.freeze(resolved.retrieval.indexes) }) : undefined,
|
|
90
|
+
search: resolved.search ? Object.freeze({ indexes: Object.freeze(resolved.search.indexes) }) : undefined,
|
|
91
|
+
inferenceProviders: Object.freeze(resolved.inferenceProviders),
|
|
92
|
+
routes: Object.freeze(resolved.routes),
|
|
93
|
+
adminRoutes: Object.freeze(resolved.adminRoutes),
|
|
94
|
+
mcpTools: Object.freeze(resolved.mcpTools),
|
|
95
|
+
mcpResources: Object.freeze(resolved.mcpResources),
|
|
96
|
+
agentSurfaces: Object.freeze(resolved.agentSurfaces),
|
|
97
|
+
operatorPermissions: Object.freeze(Array.from(new Set(resolved.operatorPermissions))),
|
|
98
|
+
manifests: Object.freeze(resolved.manifests.map((manifest) => Object.freeze(manifest)))
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
function mergeMcpTools(target, tools) {
|
|
102
|
+
const seen = new Set(target.map((tool) => tool.name));
|
|
103
|
+
for (const tool of tools ?? []) {
|
|
104
|
+
if (seen.has(tool.name))
|
|
105
|
+
throw new Error(`Duplicate Raybase module MCP tool: ${tool.name}`);
|
|
106
|
+
seen.add(tool.name);
|
|
107
|
+
target.push(tool);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
function mergeMcpResources(target, resources) {
|
|
111
|
+
const seen = new Set(target.map((resource) => resource.uri));
|
|
112
|
+
for (const resource of resources ?? []) {
|
|
113
|
+
if (seen.has(resource.uri))
|
|
114
|
+
throw new Error(`Duplicate Raybase module MCP resource: ${resource.uri}`);
|
|
115
|
+
seen.add(resource.uri);
|
|
116
|
+
target.push(resource);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
function mergeRoutes(target, routes, seenRoutes, owner) {
|
|
120
|
+
for (const route of routes ?? []) {
|
|
121
|
+
const methods = seenRoutes.get(route.path) ?? new Set();
|
|
122
|
+
if (methods.has(route.method) || methods.has("ALL") || (route.method === "ALL" && methods.size > 0)) {
|
|
123
|
+
throw new Error(`Duplicate Raybase module route: ${route.method} ${route.path}`);
|
|
124
|
+
}
|
|
125
|
+
methods.add(route.method);
|
|
126
|
+
seenRoutes.set(route.path, methods);
|
|
127
|
+
target.push({ ...route, owner: route.owner ?? owner });
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
export function mergeRaybaseSearch(base, contribution) {
|
|
131
|
+
if (!base)
|
|
132
|
+
return contribution;
|
|
133
|
+
if (!contribution)
|
|
134
|
+
return base;
|
|
135
|
+
const indexes = { ...base.indexes };
|
|
136
|
+
mergeNamed(indexes, contribution.indexes, "search index");
|
|
137
|
+
return { indexes };
|
|
138
|
+
}
|
|
139
|
+
export function mergeRaybaseRetrieval(base, contribution) {
|
|
140
|
+
if (!base)
|
|
141
|
+
return contribution;
|
|
142
|
+
if (!contribution)
|
|
143
|
+
return base;
|
|
144
|
+
const indexes = { ...base.indexes };
|
|
145
|
+
mergeNamed(indexes, contribution.indexes, "retrieval index");
|
|
146
|
+
return { indexes };
|
|
147
|
+
}
|
|
148
|
+
export function mergeRaybaseRecords(base, contribution, label) {
|
|
149
|
+
if (!base)
|
|
150
|
+
return contribution;
|
|
151
|
+
if (!contribution)
|
|
152
|
+
return base;
|
|
153
|
+
const result = { ...base };
|
|
154
|
+
mergeNamed(result, contribution, label);
|
|
155
|
+
return result;
|
|
156
|
+
}
|
|
157
|
+
function mergeNamed(target, source, label) {
|
|
158
|
+
for (const [key, value] of Object.entries(source ?? {})) {
|
|
159
|
+
if (Object.prototype.hasOwnProperty.call(target, key))
|
|
160
|
+
throw new Error(`Duplicate Raybase module ${label}: ${key}`);
|
|
161
|
+
target[key] = value;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=modules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"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"}
|