trellis 2.1.7 → 3.0.2
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/README.md +65 -706
- package/dist/cli/index.d.ts +16 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +3188 -232
- package/dist/client/config.d.ts +56 -0
- package/dist/client/config.d.ts.map +1 -0
- package/dist/client/index.d.ts +15 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +32 -0
- package/dist/client/sdk.d.ts +152 -0
- package/dist/client/sdk.d.ts.map +1 -0
- package/dist/config-8hczw0rs.js +20 -0
- package/dist/context/heat-map-manager.d.ts +100 -0
- package/dist/context/heat-map-manager.d.ts.map +1 -0
- package/dist/context/manager.d.ts +16 -0
- package/dist/context/manager.d.ts.map +1 -0
- package/dist/context/types.d.ts +20 -0
- package/dist/context/types.d.ts.map +1 -0
- package/dist/core/agents/harness.d.ts +58 -0
- package/dist/core/agents/harness.d.ts.map +1 -0
- package/dist/core/agents/index.d.ts +8 -0
- package/dist/core/agents/index.d.ts.map +1 -0
- package/dist/core/agents/types.d.ts +79 -0
- package/dist/core/agents/types.d.ts.map +1 -0
- package/dist/core/computation/expr-evaluator.d.ts +52 -0
- package/dist/core/computation/expr-evaluator.d.ts.map +1 -0
- package/dist/core/index.d.ts +25 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +105 -11
- package/dist/core/kernel/logic-middleware.d.ts +19 -0
- package/dist/core/kernel/logic-middleware.d.ts.map +1 -0
- package/dist/core/kernel/middleware.d.ts +28 -0
- package/dist/core/kernel/middleware.d.ts.map +1 -0
- package/dist/core/kernel/schema-middleware.d.ts +15 -0
- package/dist/core/kernel/schema-middleware.d.ts.map +1 -0
- package/dist/core/kernel/security-middleware.d.ts +24 -0
- package/dist/core/kernel/security-middleware.d.ts.map +1 -0
- package/dist/core/kernel/sync-provider.d.ts +59 -0
- package/dist/core/kernel/sync-provider.d.ts.map +1 -0
- package/dist/core/kernel/trellis-kernel.d.ts +217 -0
- package/dist/core/kernel/trellis-kernel.d.ts.map +1 -0
- package/dist/core/ontology/builtins.d.ts +16 -0
- package/dist/core/ontology/builtins.d.ts.map +1 -0
- package/dist/core/ontology/core-ontology.d.ts +20 -0
- package/dist/core/ontology/core-ontology.d.ts.map +1 -0
- package/dist/core/ontology/index.d.ts +12 -0
- package/dist/core/ontology/index.d.ts.map +1 -0
- package/dist/core/ontology/registry.d.ts +70 -0
- package/dist/core/ontology/registry.d.ts.map +1 -0
- package/dist/core/ontology/types.d.ts +201 -0
- package/dist/core/ontology/types.d.ts.map +1 -0
- package/dist/core/ontology/validator.d.ts +34 -0
- package/dist/core/ontology/validator.d.ts.map +1 -0
- package/dist/core/persist/backend.d.ts +62 -0
- package/dist/core/persist/backend.d.ts.map +1 -0
- package/dist/core/persist/better-sqlite-backend.d.ts +33 -0
- package/dist/core/persist/better-sqlite-backend.d.ts.map +1 -0
- package/dist/core/persist/sqlite-backend.d.ts +43 -0
- package/dist/core/persist/sqlite-backend.d.ts.map +1 -0
- package/dist/core/plugins/index.d.ts +8 -0
- package/dist/core/plugins/index.d.ts.map +1 -0
- package/dist/core/plugins/registry.d.ts +69 -0
- package/dist/core/plugins/registry.d.ts.map +1 -0
- package/dist/core/plugins/types.d.ts +87 -0
- package/dist/core/plugins/types.d.ts.map +1 -0
- package/dist/core/query/datalog.d.ts +52 -0
- package/dist/core/query/datalog.d.ts.map +1 -0
- package/dist/core/query/engine.d.ts +42 -0
- package/dist/core/query/engine.d.ts.map +1 -0
- package/dist/core/query/index.d.ts +12 -0
- package/dist/core/query/index.d.ts.map +1 -0
- package/dist/core/query/parser.d.ts +37 -0
- package/dist/core/query/parser.d.ts.map +1 -0
- package/dist/core/query/types.d.ts +135 -0
- package/dist/core/query/types.d.ts.map +1 -0
- package/dist/core/store/eav-store.d.ts +111 -0
- package/dist/core/store/eav-store.d.ts.map +1 -0
- package/dist/db/index.d.ts +18 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +85 -0
- package/dist/db/inspector.js +28 -0
- package/dist/db/trellis.css +1 -0
- package/dist/decisions/auto-capture.d.ts +31 -0
- package/dist/decisions/auto-capture.d.ts.map +1 -0
- package/dist/decisions/hooks.d.ts +48 -0
- package/dist/decisions/hooks.d.ts.map +1 -0
- package/dist/decisions/index.d.ts +36 -0
- package/dist/decisions/index.d.ts.map +1 -0
- package/dist/decisions/types.d.ts +73 -0
- package/dist/decisions/types.d.ts.map +1 -0
- package/dist/deploy-999q207z.js +10 -0
- package/dist/embeddings/auto-embed.d.ts +52 -0
- package/dist/embeddings/auto-embed.d.ts.map +1 -0
- package/dist/embeddings/chunker.d.ts +73 -0
- package/dist/embeddings/chunker.d.ts.map +1 -0
- package/dist/embeddings/index.d.ts +18 -0
- package/dist/embeddings/index.d.ts.map +1 -0
- package/dist/embeddings/model.d.ts +30 -0
- package/dist/embeddings/model.d.ts.map +1 -0
- package/dist/embeddings/search.d.ts +87 -0
- package/dist/embeddings/search.d.ts.map +1 -0
- package/dist/embeddings/store.d.ts +66 -0
- package/dist/embeddings/store.d.ts.map +1 -0
- package/dist/embeddings/types.d.ts +54 -0
- package/dist/embeddings/types.d.ts.map +1 -0
- package/dist/engine-y0724kjq.js +8 -0
- package/dist/engine.d.ts +218 -0
- package/dist/engine.d.ts.map +1 -0
- package/dist/evals/types.d.ts +29 -0
- package/dist/evals/types.d.ts.map +1 -0
- package/dist/garden/cluster.d.ts +57 -0
- package/dist/garden/cluster.d.ts.map +1 -0
- package/dist/garden/garden.d.ts +104 -0
- package/dist/garden/garden.d.ts.map +1 -0
- package/dist/garden/index.d.ts +15 -0
- package/dist/garden/index.d.ts.map +1 -0
- package/dist/git/git-exporter.d.ts +37 -0
- package/dist/git/git-exporter.d.ts.map +1 -0
- package/dist/git/git-importer.d.ts +36 -0
- package/dist/git/git-importer.d.ts.map +1 -0
- package/dist/git/git-reader.d.ts +63 -0
- package/dist/git/git-reader.d.ts.map +1 -0
- package/dist/git/index.d.ts +10 -0
- package/dist/git/index.d.ts.map +1 -0
- package/dist/identity/governance.d.ts +54 -0
- package/dist/identity/governance.d.ts.map +1 -0
- package/dist/identity/identity.d.ts +63 -0
- package/dist/identity/identity.d.ts.map +1 -0
- package/dist/identity/index.d.ts +10 -0
- package/dist/identity/index.d.ts.map +1 -0
- package/dist/identity/signing-middleware.d.ts +38 -0
- package/dist/identity/signing-middleware.d.ts.map +1 -0
- package/dist/import-s2b8e0ft.js +11 -0
- package/dist/{index-3ejh8k6v.js → index-0q7wbasy.js} +18 -4
- package/dist/index-0zk3fx2s.js +1004 -0
- package/dist/index-2r4jxwnb.js +32 -0
- package/dist/index-6n5dcebj.js +847 -0
- package/dist/index-7e27kvvj.js +292 -0
- package/dist/index-bmyt7k8n.js +90 -0
- package/dist/index-c9h37r6h.js +1 -0
- package/dist/{index-k5kf7sd0.js → index-hmdbnd4n.js} +1 -1
- package/dist/index-k5b0xskw.js +1 -0
- package/dist/index-n9f2qyh5.js +495 -0
- package/dist/{index-22jx9qsz.js → index-q31hfjja.js} +861 -51
- package/dist/index-skhn0agf.js +155 -0
- package/dist/{index-5m0g9r0y.js → index-w7ng765c.js} +4 -497
- package/dist/index-wt8rz4gn.js +132 -0
- package/dist/index-xzym9w0m.js +43 -0
- package/dist/index-y3d71wzd.js +77 -0
- package/dist/index-y6a4kj0p.js +43 -0
- package/dist/index-yhwjgfvj.js +342 -0
- package/dist/index-yp88he8n.js +316 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -9
- package/dist/links/index.d.ts +16 -0
- package/dist/links/index.d.ts.map +1 -0
- package/dist/links/lifecycle.d.ts +112 -0
- package/dist/links/lifecycle.d.ts.map +1 -0
- package/dist/links/parser.d.ts +56 -0
- package/dist/links/parser.d.ts.map +1 -0
- package/dist/links/ref-index.d.ts +55 -0
- package/dist/links/ref-index.d.ts.map +1 -0
- package/dist/links/resolver.d.ts +90 -0
- package/dist/links/resolver.d.ts.map +1 -0
- package/dist/links/types.d.ts +70 -0
- package/dist/links/types.d.ts.map +1 -0
- package/dist/llm/provider.d.ts +11 -0
- package/dist/llm/provider.d.ts.map +1 -0
- package/dist/llm/types.d.ts +74 -0
- package/dist/llm/types.d.ts.map +1 -0
- package/dist/mcp/docs.d.ts +18 -0
- package/dist/mcp/docs.d.ts.map +1 -0
- package/dist/mcp/index.d.ts +15 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/server.d.ts +26 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/orchestration/types.d.ts +22 -0
- package/dist/orchestration/types.d.ts.map +1 -0
- package/dist/plugins/agent-memory/graph-context-manager.d.ts +75 -0
- package/dist/plugins/agent-memory/graph-context-manager.d.ts.map +1 -0
- package/dist/plugins/agent-memory/index.d.ts +30 -0
- package/dist/plugins/agent-memory/index.d.ts.map +1 -0
- package/dist/plugins/agent-memory/ontology.d.ts +13 -0
- package/dist/plugins/agent-memory/ontology.d.ts.map +1 -0
- package/dist/plugins/agent-memory/plugin.d.ts +17 -0
- package/dist/plugins/agent-memory/plugin.d.ts.map +1 -0
- package/dist/plugins/brand/cache.d.ts +18 -0
- package/dist/plugins/brand/cache.d.ts.map +1 -0
- package/dist/plugins/brand/catalog-generator.d.ts +89 -0
- package/dist/plugins/brand/catalog-generator.d.ts.map +1 -0
- package/dist/plugins/brand/constraints.d.ts +55 -0
- package/dist/plugins/brand/constraints.d.ts.map +1 -0
- package/dist/plugins/brand/index.d.ts +44 -0
- package/dist/plugins/brand/index.d.ts.map +1 -0
- package/dist/plugins/brand/mcp-tools.d.ts +101 -0
- package/dist/plugins/brand/mcp-tools.d.ts.map +1 -0
- package/dist/plugins/brand/ontology.d.ts +13 -0
- package/dist/plugins/brand/ontology.d.ts.map +1 -0
- package/dist/plugins/brand/plugin.d.ts +21 -0
- package/dist/plugins/brand/plugin.d.ts.map +1 -0
- package/dist/plugins/brand/voice-tone.d.ts +24 -0
- package/dist/plugins/brand/voice-tone.d.ts.map +1 -0
- package/dist/plugins/idea-garden/api.d.ts +26 -0
- package/dist/plugins/idea-garden/api.d.ts.map +1 -0
- package/dist/plugins/idea-garden/index.d.ts +12 -0
- package/dist/plugins/idea-garden/index.d.ts.map +1 -0
- package/dist/plugins/idea-garden/plugin.d.ts +16 -0
- package/dist/plugins/idea-garden/plugin.d.ts.map +1 -0
- package/dist/plugins/idea-garden/types.d.ts +22 -0
- package/dist/plugins/idea-garden/types.d.ts.map +1 -0
- package/dist/plugins/plan-approval/index.d.ts +36 -0
- package/dist/plugins/plan-approval/index.d.ts.map +1 -0
- package/dist/plugins/plan-approval/ontology.d.ts +11 -0
- package/dist/plugins/plan-approval/ontology.d.ts.map +1 -0
- package/dist/plugins/plan-approval/plan-manager.d.ts +104 -0
- package/dist/plugins/plan-approval/plan-manager.d.ts.map +1 -0
- package/dist/plugins/plan-approval/plugin.d.ts +110 -0
- package/dist/plugins/plan-approval/plugin.d.ts.map +1 -0
- package/dist/plugins/proactive-watcher/index.d.ts +28 -0
- package/dist/plugins/proactive-watcher/index.d.ts.map +1 -0
- package/dist/plugins/proactive-watcher/ontology.d.ts +8 -0
- package/dist/plugins/proactive-watcher/ontology.d.ts.map +1 -0
- package/dist/plugins/proactive-watcher/plugin.d.ts +20 -0
- package/dist/plugins/proactive-watcher/plugin.d.ts.map +1 -0
- package/dist/plugins/proactive-watcher/watcher-manager.d.ts +36 -0
- package/dist/plugins/proactive-watcher/watcher-manager.d.ts.map +1 -0
- package/dist/plugins/sprite-tools/checkpoint-middleware.d.ts +43 -0
- package/dist/plugins/sprite-tools/checkpoint-middleware.d.ts.map +1 -0
- package/dist/plugins/sprite-tools/index.d.ts +40 -0
- package/dist/plugins/sprite-tools/index.d.ts.map +1 -0
- package/dist/plugins/sprite-tools/plugin.d.ts +69 -0
- package/dist/plugins/sprite-tools/plugin.d.ts.map +1 -0
- package/dist/react/index.js +189 -0
- package/dist/scaffold/index.d.ts +13 -0
- package/dist/scaffold/index.d.ts.map +1 -0
- package/dist/scaffold/infer.d.ts +42 -0
- package/dist/scaffold/infer.d.ts.map +1 -0
- package/dist/scaffold/profile.d.ts +51 -0
- package/dist/scaffold/profile.d.ts.map +1 -0
- package/dist/scaffold/seed.d.ts +27 -0
- package/dist/scaffold/seed.d.ts.map +1 -0
- package/dist/scaffold/write.d.ts +53 -0
- package/dist/scaffold/write.d.ts.map +1 -0
- package/dist/sdk-snn5gad3.js +15 -0
- package/dist/semantic/csharp-parser.d.ts +12 -0
- package/dist/semantic/csharp-parser.d.ts.map +1 -0
- package/dist/semantic/go-parser.d.ts +12 -0
- package/dist/semantic/go-parser.d.ts.map +1 -0
- package/dist/semantic/index.d.ts +22 -0
- package/dist/semantic/index.d.ts.map +1 -0
- package/dist/semantic/java-parser.d.ts +12 -0
- package/dist/semantic/java-parser.d.ts.map +1 -0
- package/dist/semantic/python-parser.d.ts +12 -0
- package/dist/semantic/python-parser.d.ts.map +1 -0
- package/dist/semantic/ruby-parser.d.ts +12 -0
- package/dist/semantic/ruby-parser.d.ts.map +1 -0
- package/dist/semantic/rust-parser.d.ts +12 -0
- package/dist/semantic/rust-parser.d.ts.map +1 -0
- package/dist/semantic/semantic-merge.d.ts +20 -0
- package/dist/semantic/semantic-merge.d.ts.map +1 -0
- package/dist/semantic/ts-parser.d.ts +13 -0
- package/dist/semantic/ts-parser.d.ts.map +1 -0
- package/dist/semantic/types.d.ts +130 -0
- package/dist/semantic/types.d.ts.map +1 -0
- package/dist/server/auth.d.ts +72 -0
- package/dist/server/auth.d.ts.map +1 -0
- package/dist/server/deploy.d.ts +44 -0
- package/dist/server/deploy.d.ts.map +1 -0
- package/dist/server/import.d.ts +40 -0
- package/dist/server/import.d.ts.map +1 -0
- package/dist/server/index.d.ts +26 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +90 -0
- package/dist/server/permissions.d.ts +84 -0
- package/dist/server/permissions.d.ts.map +1 -0
- package/dist/server/realtime.d.ts +78 -0
- package/dist/server/realtime.d.ts.map +1 -0
- package/dist/server/server.d.ts +43 -0
- package/dist/server/server.d.ts.map +1 -0
- package/dist/server/sprites.d.ts +26 -0
- package/dist/server/sprites.d.ts.map +1 -0
- package/dist/server/tenancy.d.ts +53 -0
- package/dist/server/tenancy.d.ts.map +1 -0
- package/dist/server/vm-config.d.ts +60 -0
- package/dist/server/vm-config.d.ts.map +1 -0
- package/dist/server-mrctdwzr.js +11 -0
- package/dist/sprites-vc4qbrp1.js +16 -0
- package/dist/streaming/types.d.ts +43 -0
- package/dist/streaming/types.d.ts.map +1 -0
- package/dist/sync/http-transport.d.ts +47 -0
- package/dist/sync/http-transport.d.ts.map +1 -0
- package/dist/sync/index.d.ts +22 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/memory-transport.d.ts +27 -0
- package/dist/sync/memory-transport.d.ts.map +1 -0
- package/dist/sync/multi-repo.d.ts +82 -0
- package/dist/sync/multi-repo.d.ts.map +1 -0
- package/dist/sync/reconciler.d.ts +48 -0
- package/dist/sync/reconciler.d.ts.map +1 -0
- package/dist/sync/sync-engine.d.ts +65 -0
- package/dist/sync/sync-engine.d.ts.map +1 -0
- package/dist/sync/types.d.ts +71 -0
- package/dist/sync/types.d.ts.map +1 -0
- package/dist/sync/ws-transport.d.ts +41 -0
- package/dist/sync/ws-transport.d.ts.map +1 -0
- package/dist/tenancy-7d1g4ayp.js +13 -0
- package/dist/ui/client.html +460 -664
- package/dist/ui/server.d.ts +42 -0
- package/dist/ui/server.d.ts.map +1 -0
- package/dist/vcs/blob-store.d.ts +49 -0
- package/dist/vcs/blob-store.d.ts.map +1 -0
- package/dist/vcs/branch.d.ts +35 -0
- package/dist/vcs/branch.d.ts.map +1 -0
- package/dist/vcs/checkpoint.d.ts +24 -0
- package/dist/vcs/checkpoint.d.ts.map +1 -0
- package/dist/vcs/decompose.d.ts +19 -0
- package/dist/vcs/decompose.d.ts.map +1 -0
- package/dist/vcs/diff.d.ts +65 -0
- package/dist/vcs/diff.d.ts.map +1 -0
- package/dist/vcs/engine-context.d.ts +21 -0
- package/dist/vcs/engine-context.d.ts.map +1 -0
- package/dist/vcs/index.d.ts +23 -0
- package/dist/vcs/index.d.ts.map +1 -0
- package/dist/vcs/index.js +2 -2
- package/dist/vcs/issue.d.ts +159 -0
- package/dist/vcs/issue.d.ts.map +1 -0
- package/dist/vcs/merge.d.ts +55 -0
- package/dist/vcs/merge.d.ts.map +1 -0
- package/dist/vcs/milestone.d.ts +30 -0
- package/dist/vcs/milestone.d.ts.map +1 -0
- package/dist/vcs/ops.d.ts +27 -0
- package/dist/vcs/ops.d.ts.map +1 -0
- package/dist/vcs/types.d.ts +95 -0
- package/dist/vcs/types.d.ts.map +1 -0
- package/dist/vcs/vcs-middleware.d.ts +14 -0
- package/dist/vcs/vcs-middleware.d.ts.map +1 -0
- package/dist/vm-config-6xhsj6b3.js +22 -0
- package/dist/watcher/fs-watcher.d.ts +51 -0
- package/dist/watcher/fs-watcher.d.ts.map +1 -0
- package/dist/watcher/index.d.ts +9 -0
- package/dist/watcher/index.d.ts.map +1 -0
- package/dist/watcher/ingestion.d.ts +28 -0
- package/dist/watcher/ingestion.d.ts.map +1 -0
- package/package.json +57 -7
- package/dist/index-hybgxe40.js +0 -1174
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trellis Server — Public API Surface
|
|
3
|
+
*
|
|
4
|
+
* HTTP+WebSocket server, auth, permissions, multi-tenancy, and deployment.
|
|
5
|
+
* Import from `trellis/server`:
|
|
6
|
+
*
|
|
7
|
+
* import { startServer } from 'trellis/server';
|
|
8
|
+
*
|
|
9
|
+
* @module trellis/server
|
|
10
|
+
*/
|
|
11
|
+
export { startServer } from './server.js';
|
|
12
|
+
export type { ServerConfig } from './server.js';
|
|
13
|
+
export { resolveAuth, signJwt, verifyJwt, buildOAuthUrl, exchangeOAuthCode, GOOGLE_PROVIDER, GITHUB_PROVIDER, ANONYMOUS, } from './auth.js';
|
|
14
|
+
export type { AuthContext, AuthConfig, OAuthProvider } from './auth.js';
|
|
15
|
+
export { PermissionRegistry, PermissionError, PUBLIC_READ, FULLY_PUBLIC, OWNER_ONLY, ADMIN_ONLY, } from './permissions.js';
|
|
16
|
+
export type { PermissionRule, PermissionsDef, CrudOp } from './permissions.js';
|
|
17
|
+
export { TenantPool, DEFAULT_TENANT } from './tenancy.js';
|
|
18
|
+
export { SubscriptionManager } from './realtime.js';
|
|
19
|
+
export type { Subscription as RealtimeSubscription, WsClient, } from './realtime.js';
|
|
20
|
+
export { importFile, importRecords } from './import.js';
|
|
21
|
+
export type { ImportOptions, ImportResult } from './import.js';
|
|
22
|
+
export { deploy } from './deploy.js';
|
|
23
|
+
export type { DeployOptions, DeployResult } from './deploy.js';
|
|
24
|
+
export { runSpriteCmd, runSpriteCopy, runSpriteInteractive, assertSpriteCli, resolveSprite, } from './sprites.js';
|
|
25
|
+
export { loadVmConfig, saveVmConfig, getActiveSprite, setActiveSprite, trackSprite, untrackSprite, isSpriteTracked, getSprite, VmConfig, } from './vm-config.js';
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EACL,WAAW,EACX,OAAO,EACP,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,SAAS,GACV,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAGxE,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,UAAU,EACV,UAAU,GACX,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/E,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,YAAY,EACV,YAAY,IAAI,oBAAoB,EACpC,QAAQ,GACT,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG/D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG/D,OAAO,EACL,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,aAAa,GACd,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EACf,WAAW,EACX,aAAa,EACb,eAAe,EACf,SAAS,EACT,QAAQ,GACT,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import"../index-c9h37r6h.js";
|
|
3
|
+
import {
|
|
4
|
+
importFile,
|
|
5
|
+
importRecords
|
|
6
|
+
} from "../index-skhn0agf.js";
|
|
7
|
+
import {
|
|
8
|
+
deploy
|
|
9
|
+
} from "../index-wt8rz4gn.js";
|
|
10
|
+
import {
|
|
11
|
+
getActiveSprite,
|
|
12
|
+
getSprite,
|
|
13
|
+
isSpriteTracked,
|
|
14
|
+
loadVmConfig,
|
|
15
|
+
saveVmConfig,
|
|
16
|
+
setActiveSprite,
|
|
17
|
+
trackSprite,
|
|
18
|
+
untrackSprite
|
|
19
|
+
} from "../index-bmyt7k8n.js";
|
|
20
|
+
import {
|
|
21
|
+
assertSpriteCli,
|
|
22
|
+
resolveSprite,
|
|
23
|
+
runSpriteCmd,
|
|
24
|
+
runSpriteCopy,
|
|
25
|
+
runSpriteInteractive
|
|
26
|
+
} from "../index-y6a4kj0p.js";
|
|
27
|
+
import {
|
|
28
|
+
ADMIN_ONLY,
|
|
29
|
+
ANONYMOUS,
|
|
30
|
+
FULLY_PUBLIC,
|
|
31
|
+
GITHUB_PROVIDER,
|
|
32
|
+
GOOGLE_PROVIDER,
|
|
33
|
+
OWNER_ONLY,
|
|
34
|
+
PUBLIC_READ,
|
|
35
|
+
PermissionError,
|
|
36
|
+
PermissionRegistry,
|
|
37
|
+
SubscriptionManager,
|
|
38
|
+
buildOAuthUrl,
|
|
39
|
+
exchangeOAuthCode,
|
|
40
|
+
resolveAuth,
|
|
41
|
+
signJwt,
|
|
42
|
+
startServer,
|
|
43
|
+
verifyJwt
|
|
44
|
+
} from "../index-6n5dcebj.js";
|
|
45
|
+
import"../index-n9f2qyh5.js";
|
|
46
|
+
import"../index-xzym9w0m.js";
|
|
47
|
+
import {
|
|
48
|
+
DEFAULT_TENANT,
|
|
49
|
+
TenantPool
|
|
50
|
+
} from "../index-y3d71wzd.js";
|
|
51
|
+
import"../index-0zk3fx2s.js";
|
|
52
|
+
import"../index-yhwjgfvj.js";
|
|
53
|
+
import"../index-yp88he8n.js";
|
|
54
|
+
import"../index-a76rekgs.js";
|
|
55
|
+
export {
|
|
56
|
+
verifyJwt,
|
|
57
|
+
untrackSprite,
|
|
58
|
+
trackSprite,
|
|
59
|
+
startServer,
|
|
60
|
+
signJwt,
|
|
61
|
+
setActiveSprite,
|
|
62
|
+
saveVmConfig,
|
|
63
|
+
runSpriteInteractive,
|
|
64
|
+
runSpriteCopy,
|
|
65
|
+
runSpriteCmd,
|
|
66
|
+
resolveSprite,
|
|
67
|
+
resolveAuth,
|
|
68
|
+
loadVmConfig,
|
|
69
|
+
isSpriteTracked,
|
|
70
|
+
importRecords,
|
|
71
|
+
importFile,
|
|
72
|
+
getSprite,
|
|
73
|
+
getActiveSprite,
|
|
74
|
+
exchangeOAuthCode,
|
|
75
|
+
deploy,
|
|
76
|
+
buildOAuthUrl,
|
|
77
|
+
assertSpriteCli,
|
|
78
|
+
TenantPool,
|
|
79
|
+
SubscriptionManager,
|
|
80
|
+
PermissionRegistry,
|
|
81
|
+
PermissionError,
|
|
82
|
+
PUBLIC_READ,
|
|
83
|
+
OWNER_ONLY,
|
|
84
|
+
GOOGLE_PROVIDER,
|
|
85
|
+
GITHUB_PROVIDER,
|
|
86
|
+
FULLY_PUBLIC,
|
|
87
|
+
DEFAULT_TENANT,
|
|
88
|
+
ANONYMOUS,
|
|
89
|
+
ADMIN_ONLY
|
|
90
|
+
};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trellis Server — Permission Middleware
|
|
3
|
+
*
|
|
4
|
+
* Entity-level access control declared in ontology schemas.
|
|
5
|
+
*
|
|
6
|
+
* Permission rules are defined per entity type in `EntityDef.permissions`.
|
|
7
|
+
* Rules are evaluated at the middleware layer before any mutation or query
|
|
8
|
+
* reaches the kernel.
|
|
9
|
+
*
|
|
10
|
+
* @module trellis/server
|
|
11
|
+
*/
|
|
12
|
+
import type { AuthContext } from './auth.js';
|
|
13
|
+
import type { EntityRecord } from '../core/kernel/trellis-kernel.js';
|
|
14
|
+
/** A permission rule for a CRUD operation on an entity type. */
|
|
15
|
+
export type PermissionRule = 'public' | 'authenticated' | 'own' | {
|
|
16
|
+
role: string;
|
|
17
|
+
} | {
|
|
18
|
+
roles: string[];
|
|
19
|
+
} | {
|
|
20
|
+
fn: (auth: AuthContext, entity: EntityRecord | null) => boolean;
|
|
21
|
+
};
|
|
22
|
+
/** Per-operation permission rules for an entity type. */
|
|
23
|
+
export interface PermissionsDef {
|
|
24
|
+
read?: PermissionRule;
|
|
25
|
+
create?: PermissionRule;
|
|
26
|
+
update?: PermissionRule;
|
|
27
|
+
delete?: PermissionRule;
|
|
28
|
+
}
|
|
29
|
+
/** Extended EntityDef that includes optional permissions. */
|
|
30
|
+
export interface EntityDefWithPermissions {
|
|
31
|
+
name: string;
|
|
32
|
+
permissions?: PermissionsDef;
|
|
33
|
+
}
|
|
34
|
+
/** Operation types checked against permissions. */
|
|
35
|
+
export type CrudOp = 'read' | 'create' | 'update' | 'delete';
|
|
36
|
+
/**
|
|
37
|
+
* Registry mapping entity type names to their permission definitions.
|
|
38
|
+
* Populated at server startup from ontology schemas.
|
|
39
|
+
*/
|
|
40
|
+
export declare class PermissionRegistry {
|
|
41
|
+
private rules;
|
|
42
|
+
private defaultRule;
|
|
43
|
+
/**
|
|
44
|
+
* Register permissions for an entity type.
|
|
45
|
+
*/
|
|
46
|
+
register(entityType: string, permissions: PermissionsDef): void;
|
|
47
|
+
/**
|
|
48
|
+
* Set the fallback rule used when an entity type has no declared permissions.
|
|
49
|
+
*/
|
|
50
|
+
setDefault(rule: PermissionRule): void;
|
|
51
|
+
/**
|
|
52
|
+
* Get the permission rule for a specific operation on an entity type.
|
|
53
|
+
* Falls back to the default rule if not declared.
|
|
54
|
+
*/
|
|
55
|
+
getRule(entityType: string, op: CrudOp): PermissionRule;
|
|
56
|
+
/**
|
|
57
|
+
* Check whether an auth context is allowed to perform an operation.
|
|
58
|
+
*/
|
|
59
|
+
check(auth: AuthContext, entityType: string, op: CrudOp, entity?: EntityRecord | null): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Assert access — throws a PermissionError if denied.
|
|
62
|
+
*/
|
|
63
|
+
assert(auth: AuthContext, entityType: string, op: CrudOp, entity?: EntityRecord | null): void;
|
|
64
|
+
}
|
|
65
|
+
export declare class PermissionError extends Error {
|
|
66
|
+
auth: AuthContext;
|
|
67
|
+
entityType: string;
|
|
68
|
+
op: CrudOp;
|
|
69
|
+
constructor(auth: AuthContext, entityType: string, op: CrudOp);
|
|
70
|
+
toResponse(): {
|
|
71
|
+
error: string;
|
|
72
|
+
message: string;
|
|
73
|
+
code: number;
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
/** Common preset: read-public, write-authenticated */
|
|
77
|
+
export declare const PUBLIC_READ: PermissionsDef;
|
|
78
|
+
/** Common preset: full public access */
|
|
79
|
+
export declare const FULLY_PUBLIC: PermissionsDef;
|
|
80
|
+
/** Common preset: owner-only CRUD */
|
|
81
|
+
export declare const OWNER_ONLY: PermissionsDef;
|
|
82
|
+
/** Common preset: admin-only */
|
|
83
|
+
export declare const ADMIN_ONLY: PermissionsDef;
|
|
84
|
+
//# sourceMappingURL=permissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/server/permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAMrE,gEAAgE;AAChE,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,eAAe,GACf,KAAK,GACL;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GACnB;IAAE,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,KAAK,OAAO,CAAA;CAAE,CAAC;AAExE,yDAAyD;AACzD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,6DAA6D;AAC7D,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,cAAc,CAAC;CAC9B;AAED,mDAAmD;AACnD,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAM7D;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,WAAW,CAAmC;IAEtD;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,GAAG,IAAI;IAI/D;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAItC;;;OAGG;IACH,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,cAAc;IAKvD;;OAEG;IACH,KAAK,CACH,IAAI,EAAE,WAAW,EACjB,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,EACV,MAAM,GAAE,YAAY,GAAG,IAAW,GACjC,OAAO;IAKV;;OAEG;IACH,MAAM,CACJ,IAAI,EAAE,WAAW,EACjB,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,EACV,MAAM,GAAE,YAAY,GAAG,IAAW,GACjC,IAAI;CAKR;AAkDD,qBAAa,eAAgB,SAAQ,KAAK;IAE/B,IAAI,EAAE,WAAW;IACjB,UAAU,EAAE,MAAM;IAClB,EAAE,EAAE,MAAM;gBAFV,IAAI,EAAE,WAAW,EACjB,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM;IAOnB,UAAU;;;;;CAOX;AAMD,sDAAsD;AACtD,eAAO,MAAM,WAAW,EAAE,cAKzB,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,YAAY,EAAE,cAK1B,CAAC;AAEF,qCAAqC;AACrC,eAAO,MAAM,UAAU,EAAE,cAKxB,CAAC;AAEF,gCAAgC;AAChC,eAAO,MAAM,UAAU,EAAE,cAKxB,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trellis Server — Realtime Subscription Engine
|
|
3
|
+
*
|
|
4
|
+
* InstantDB-style reactive queries over WebSocket.
|
|
5
|
+
*
|
|
6
|
+
* Clients subscribe to an EQL-S query string. When any op lands that touches
|
|
7
|
+
* an entity type in that query's result set, the server re-runs the query
|
|
8
|
+
* and pushes the full updated result (plus a diff) to subscribed clients.
|
|
9
|
+
*
|
|
10
|
+
* Protocol (JSON over WebSocket):
|
|
11
|
+
*
|
|
12
|
+
* Client → Server:
|
|
13
|
+
* { type: "subscribe", id: "sub_1", query: "find Post where ...", tenantId?: "t1" }
|
|
14
|
+
* { type: "unsubscribe", id: "sub_1" }
|
|
15
|
+
* { type: "ping" }
|
|
16
|
+
*
|
|
17
|
+
* Server → Client:
|
|
18
|
+
* { type: "subscribed", id: "sub_1" }
|
|
19
|
+
* { type: "data", id: "sub_1", result: [...], diff: { added, updated, removed } }
|
|
20
|
+
* { type: "error", id: "sub_1", message: "..." }
|
|
21
|
+
* { type: "pong" }
|
|
22
|
+
*
|
|
23
|
+
* @module trellis/server
|
|
24
|
+
*/
|
|
25
|
+
import type { TenantPool } from './tenancy.js';
|
|
26
|
+
import type { AuthContext } from './auth.js';
|
|
27
|
+
import type { PermissionRegistry } from './permissions.js';
|
|
28
|
+
export interface Subscription {
|
|
29
|
+
id: string;
|
|
30
|
+
query: string;
|
|
31
|
+
tenantId: string | null;
|
|
32
|
+
auth: AuthContext;
|
|
33
|
+
lastResult: Record<string, unknown>[];
|
|
34
|
+
}
|
|
35
|
+
export interface WsClient {
|
|
36
|
+
id: string;
|
|
37
|
+
ws: {
|
|
38
|
+
send(data: string): void;
|
|
39
|
+
readyState: number;
|
|
40
|
+
};
|
|
41
|
+
subscriptions: Map<string, Subscription>;
|
|
42
|
+
auth: AuthContext;
|
|
43
|
+
tenantId: string | null;
|
|
44
|
+
}
|
|
45
|
+
export type RealtimeMessage = {
|
|
46
|
+
type: 'subscribe';
|
|
47
|
+
id: string;
|
|
48
|
+
query: string;
|
|
49
|
+
tenantId?: string;
|
|
50
|
+
} | {
|
|
51
|
+
type: 'unsubscribe';
|
|
52
|
+
id: string;
|
|
53
|
+
} | {
|
|
54
|
+
type: 'ping';
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Manages WebSocket clients and their query subscriptions.
|
|
58
|
+
* Call `notify(tenantId)` after any mutation to fan out updates.
|
|
59
|
+
*/
|
|
60
|
+
export declare class SubscriptionManager {
|
|
61
|
+
private clients;
|
|
62
|
+
private pool;
|
|
63
|
+
private permissions;
|
|
64
|
+
constructor(pool: TenantPool, permissions?: PermissionRegistry | null);
|
|
65
|
+
addClient(clientId: string, ws: WsClient['ws'], auth: AuthContext, tenantId: string | null): void;
|
|
66
|
+
removeClient(clientId: string): void;
|
|
67
|
+
handleMessage(clientId: string, raw: string): Promise<void>;
|
|
68
|
+
/**
|
|
69
|
+
* Re-evaluate all subscriptions for a given tenant and push diffs.
|
|
70
|
+
* Called after every write op lands.
|
|
71
|
+
*/
|
|
72
|
+
notify(tenantId: string | null): Promise<void>;
|
|
73
|
+
get clientCount(): number;
|
|
74
|
+
private _handleSubscribe;
|
|
75
|
+
private _pushUpdate;
|
|
76
|
+
private _send;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=realtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../src/server/realtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAM3D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE;QAAE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzC,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAMrB;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,WAAW,CAA4B;gBAEnC,IAAI,EAAE,UAAU,EAAE,WAAW,GAAE,kBAAkB,GAAG,IAAW;IAS3E,SAAS,CACP,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAClB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,IAAI;IAUP,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQ9B,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCjE;;;OAGG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBpD,IAAI,WAAW,IAAI,MAAM,CAExB;YAMa,gBAAgB;YAqDhB,WAAW;IAsBzB,OAAO,CAAC,KAAK;CAOd"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trellis Server — HTTP + WebSocket Server
|
|
3
|
+
*
|
|
4
|
+
* Bun-native server (no Express) exposing REST + realtime endpoints.
|
|
5
|
+
*
|
|
6
|
+
* REST:
|
|
7
|
+
* POST /entities Create entity
|
|
8
|
+
* GET /entities/:id Read entity
|
|
9
|
+
* PUT /entities/:id Update entity attributes
|
|
10
|
+
* DELETE /entities/:id Delete entity
|
|
11
|
+
* GET /entities?type=&limit=&offset= List entities
|
|
12
|
+
* POST /query EQL-S query
|
|
13
|
+
* POST /upload File upload → blob hash
|
|
14
|
+
* GET /files/:hash Download blob
|
|
15
|
+
* GET /health Health check
|
|
16
|
+
*
|
|
17
|
+
* Auth:
|
|
18
|
+
* POST /auth/login Email+password → JWT
|
|
19
|
+
* POST /auth/register Create user → JWT
|
|
20
|
+
* GET /auth/oauth/:provider OAuth redirect
|
|
21
|
+
* GET /auth/oauth/:provider/callback OAuth callback → JWT
|
|
22
|
+
*
|
|
23
|
+
* WebSocket:
|
|
24
|
+
* GET /realtime Upgrade to WebSocket for subscriptions
|
|
25
|
+
*
|
|
26
|
+
* @module trellis/server
|
|
27
|
+
*/
|
|
28
|
+
import type { TrellisDbConfig } from '../client/config.js';
|
|
29
|
+
import type { TenantPool } from './tenancy.js';
|
|
30
|
+
import type { PermissionRegistry } from './permissions.js';
|
|
31
|
+
export interface ServerConfig {
|
|
32
|
+
port?: number;
|
|
33
|
+
config: TrellisDbConfig;
|
|
34
|
+
pool: TenantPool;
|
|
35
|
+
permissions?: PermissionRegistry;
|
|
36
|
+
oauthProviders?: Record<string, import('./auth.js').OAuthProvider>;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Start the Trellis DB HTTP + WebSocket server.
|
|
40
|
+
* Returns the Bun server instance.
|
|
41
|
+
*/
|
|
42
|
+
export declare function startServer(opts: ServerConfig): ReturnType<typeof Bun.serve>;
|
|
43
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAOH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAU/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAQ3D,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,eAAe,CAAC;IACxB,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,WAAW,EAAE,aAAa,CAAC,CAAC;CACpE;AAMD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAqF5E"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sprites CLI helpers
|
|
3
|
+
*
|
|
4
|
+
* Wrapper functions for interacting with the Sprites VM platform CLI.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Run a sprite command and capture output.
|
|
8
|
+
*/
|
|
9
|
+
export declare function runSpriteCmd(args: string[]): Promise<string>;
|
|
10
|
+
/**
|
|
11
|
+
* Copy a file to/from a sprite using sprite cp.
|
|
12
|
+
*/
|
|
13
|
+
export declare function runSpriteCopy(localPath: string, spriteName: string, remotePath: string): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Run a sprite command with inherited stdio (for interactive commands).
|
|
16
|
+
*/
|
|
17
|
+
export declare function runSpriteInteractive(args: string[]): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Assert that the sprite CLI is available and authenticated.
|
|
20
|
+
*/
|
|
21
|
+
export declare function assertSpriteCli(): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Resolve a sprite name from explicit flag, active VM config, or error.
|
|
24
|
+
*/
|
|
25
|
+
export declare function resolveSprite(explicitName?: string): string;
|
|
26
|
+
//# sourceMappingURL=sprites.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sprites.d.ts","sourceRoot":"","sources":["../../src/server/sprites.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAYlE;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAMxE;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAMrD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAS3D"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trellis Server — Multi-Tenant Kernel Pool
|
|
3
|
+
*
|
|
4
|
+
* Manages a pool of `TrellisKernel` instances, one per tenant.
|
|
5
|
+
* Each tenant gets an isolated SQLite database file in `<dbPath>/tenants/<tenantId>.sqlite`.
|
|
6
|
+
*
|
|
7
|
+
* The default tenant uses `<dbPath>/default.sqlite`.
|
|
8
|
+
*
|
|
9
|
+
* @module trellis/server
|
|
10
|
+
*/
|
|
11
|
+
import { TrellisKernel } from '../core/kernel/trellis-kernel.js';
|
|
12
|
+
export declare const DEFAULT_TENANT = "default";
|
|
13
|
+
/**
|
|
14
|
+
* A pool of `TrellisKernel` instances keyed by tenant ID.
|
|
15
|
+
*
|
|
16
|
+
* - Kernels are lazily created on first access.
|
|
17
|
+
* - Each tenant's data lives in `<dbPath>/tenants/<tenantId>.sqlite`.
|
|
18
|
+
* - The default tenant lives at `<dbPath>/default.sqlite`.
|
|
19
|
+
*/
|
|
20
|
+
export declare class TenantPool {
|
|
21
|
+
private pool;
|
|
22
|
+
private dbPath;
|
|
23
|
+
private agentId;
|
|
24
|
+
constructor(dbPath: string, agentId?: string);
|
|
25
|
+
/**
|
|
26
|
+
* Get (or create) the kernel for a tenant.
|
|
27
|
+
* Pass `null` or `undefined` to get the default tenant.
|
|
28
|
+
*/
|
|
29
|
+
get(tenantId?: string | null): TrellisKernel;
|
|
30
|
+
/**
|
|
31
|
+
* Check whether a tenant has been initialized (kernel created).
|
|
32
|
+
*/
|
|
33
|
+
has(tenantId: string): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* List all active tenant IDs (those with open kernels).
|
|
36
|
+
*/
|
|
37
|
+
activeTenants(): string[];
|
|
38
|
+
/**
|
|
39
|
+
* Close a specific tenant's kernel and remove it from the pool.
|
|
40
|
+
*/
|
|
41
|
+
close(tenantId: string): void;
|
|
42
|
+
/**
|
|
43
|
+
* Close all kernels and clear the pool.
|
|
44
|
+
*/
|
|
45
|
+
closeAll(): void;
|
|
46
|
+
/**
|
|
47
|
+
* Return the SQLite file path for a given tenant.
|
|
48
|
+
*/
|
|
49
|
+
dbFilePath(tenantId?: string | null): string;
|
|
50
|
+
private _createKernel;
|
|
51
|
+
private _ensureDirs;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=tenancy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenancy.d.ts","sourceRoot":"","sources":["../../src/server/tenancy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAOjE,eAAO,MAAM,cAAc,YAAY,CAAC;AAOxC;;;;;;GAMG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAyC;IACrD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,MAAM,EAAE,OAAO,SAAe;IAUlD;;;OAGG;IACH,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,aAAa;IAQ5C;;OAEG;IACH,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI9B;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAIzB;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQ7B;;OAEG;IACH,QAAQ,IAAI,IAAI;IAOhB;;OAEG;IACH,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;IAY5C,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,WAAW;CASpB"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global VM Configuration
|
|
3
|
+
*
|
|
4
|
+
* Manages persistent VM configuration stored at ~/.trellis/vm.json.
|
|
5
|
+
* Tracks active sprite and sprite metadata for the trellis vm commands.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* VM configuration interface.
|
|
9
|
+
*/
|
|
10
|
+
export interface VmConfig {
|
|
11
|
+
activeSprite: string | null;
|
|
12
|
+
sprites: Record<string, {
|
|
13
|
+
name: string;
|
|
14
|
+
createdAt: string;
|
|
15
|
+
url: string;
|
|
16
|
+
hasTrellis: boolean;
|
|
17
|
+
apiKey?: string;
|
|
18
|
+
lastCheckpoint?: string;
|
|
19
|
+
linkedMilestone?: string;
|
|
20
|
+
}>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Load the VM configuration, or return default if not yet created.
|
|
24
|
+
*/
|
|
25
|
+
export declare function loadVmConfig(): VmConfig;
|
|
26
|
+
/**
|
|
27
|
+
* Save (or overwrite) the VM configuration.
|
|
28
|
+
*/
|
|
29
|
+
export declare function saveVmConfig(config: VmConfig): void;
|
|
30
|
+
/**
|
|
31
|
+
* Get the currently active sprite name.
|
|
32
|
+
*/
|
|
33
|
+
export declare function getActiveSprite(): string | null;
|
|
34
|
+
/**
|
|
35
|
+
* Set the active sprite name.
|
|
36
|
+
*/
|
|
37
|
+
export declare function setActiveSprite(spriteName: string): void;
|
|
38
|
+
/**
|
|
39
|
+
* Track a sprite in the VM config (called after creation/deploy).
|
|
40
|
+
*/
|
|
41
|
+
export declare function trackSprite(spriteName: string, opts?: {
|
|
42
|
+
url?: string;
|
|
43
|
+
hasTrellis?: boolean;
|
|
44
|
+
apiKey?: string;
|
|
45
|
+
lastCheckpoint?: string;
|
|
46
|
+
linkedMilestone?: string;
|
|
47
|
+
}): void;
|
|
48
|
+
/**
|
|
49
|
+
* Untrack a sprite (called after destruction).
|
|
50
|
+
*/
|
|
51
|
+
export declare function untrackSprite(spriteName: string): void;
|
|
52
|
+
/**
|
|
53
|
+
* Check if a sprite is being tracked.
|
|
54
|
+
*/
|
|
55
|
+
export declare function isSpriteTracked(spriteName: string): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Get sprite metadata by name.
|
|
58
|
+
*/
|
|
59
|
+
export declare function getSprite(spriteName: string): VmConfig['sprites'][string] | null;
|
|
60
|
+
//# sourceMappingURL=vm-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vm-config.d.ts","sourceRoot":"","sources":["../../src/server/vm-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,CACb,MAAM,EACN;QACE,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,OAAO,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CACF,CAAC;CACH;AAgBD;;GAEG;AACH,wBAAgB,YAAY,IAAI,QAAQ,CAkBvC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAMnD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAG/C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAaxD;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE;IACJ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CACrB,GACL,IAAI,CAsBN;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAUtD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAG3D;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,UAAU,EAAE,MAAM,GACjB,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAGpC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import {
|
|
3
|
+
assertSpriteCli,
|
|
4
|
+
resolveSprite,
|
|
5
|
+
runSpriteCmd,
|
|
6
|
+
runSpriteCopy,
|
|
7
|
+
runSpriteInteractive
|
|
8
|
+
} from "./index-y6a4kj0p.js";
|
|
9
|
+
import"./index-a76rekgs.js";
|
|
10
|
+
export {
|
|
11
|
+
runSpriteInteractive,
|
|
12
|
+
runSpriteCopy,
|
|
13
|
+
runSpriteCmd,
|
|
14
|
+
resolveSprite,
|
|
15
|
+
assertSpriteCli
|
|
16
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI Agent Streaming Types
|
|
3
|
+
*
|
|
4
|
+
* SSE-friendly event structures for streaming thoughts, tool calls, and final responses.
|
|
5
|
+
*/
|
|
6
|
+
export type AgentEventKind = 'thought' | 'tool_call' | 'tool_output' | 'final_response' | 'error';
|
|
7
|
+
export interface AgentEvent {
|
|
8
|
+
kind: AgentEventKind;
|
|
9
|
+
payload: unknown;
|
|
10
|
+
timestamp: string;
|
|
11
|
+
}
|
|
12
|
+
export interface ThoughtEvent extends AgentEvent {
|
|
13
|
+
kind: 'thought';
|
|
14
|
+
payload: {
|
|
15
|
+
content: string;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export interface ToolCallEvent extends AgentEvent {
|
|
19
|
+
kind: 'tool_call';
|
|
20
|
+
payload: {
|
|
21
|
+
toolId: string;
|
|
22
|
+
input: Record<string, unknown>;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export interface ToolOutputEvent extends AgentEvent {
|
|
26
|
+
kind: 'tool_output';
|
|
27
|
+
payload: {
|
|
28
|
+
toolId: string;
|
|
29
|
+
output: unknown;
|
|
30
|
+
success: boolean;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export interface FinalResponseEvent extends AgentEvent {
|
|
34
|
+
kind: 'final_response';
|
|
35
|
+
payload: {
|
|
36
|
+
content: string;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export interface AgentStreamer {
|
|
40
|
+
emit(runId: string, event: AgentEvent): void;
|
|
41
|
+
subscribe(runId: string, callback: (event: AgentEvent) => void): void;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/streaming/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,gBAAgB,GAAG,OAAO,CAAC;AAElG,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,CAAC;CACH;AAED,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAE5B,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IAE7C,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAC;CACvE"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP Sync Transport
|
|
3
|
+
*
|
|
4
|
+
* Implements SyncTransport over HTTP for network-based peer sync.
|
|
5
|
+
* Uses a simple JSON REST protocol:
|
|
6
|
+
* POST /sync/message — send a sync message
|
|
7
|
+
* GET /sync/peers — list connected peers
|
|
8
|
+
*
|
|
9
|
+
* The server side is a lightweight Bun HTTP server.
|
|
10
|
+
* The client side uses fetch() for outbound messages.
|
|
11
|
+
*
|
|
12
|
+
* @module trellis/sync
|
|
13
|
+
*/
|
|
14
|
+
import type { SyncTransport, SyncMessage, PeerId } from './types.js';
|
|
15
|
+
export declare class HttpSyncTransport implements SyncTransport {
|
|
16
|
+
private localPeerId;
|
|
17
|
+
private peerUrls;
|
|
18
|
+
private messageHandler;
|
|
19
|
+
private knownPeers;
|
|
20
|
+
constructor(localPeerId: string);
|
|
21
|
+
/**
|
|
22
|
+
* Add a remote peer by URL (e.g. "http://192.168.1.10:4200").
|
|
23
|
+
*/
|
|
24
|
+
addPeer(peerId: string, url: string, name?: string): void;
|
|
25
|
+
/**
|
|
26
|
+
* Remove a remote peer.
|
|
27
|
+
*/
|
|
28
|
+
removePeer(peerId: string): void;
|
|
29
|
+
send(peerId: string, message: SyncMessage): Promise<void>;
|
|
30
|
+
onMessage(handler: (message: SyncMessage) => void): void;
|
|
31
|
+
/**
|
|
32
|
+
* Receive a message (called by the HTTP server handler).
|
|
33
|
+
*/
|
|
34
|
+
receiveMessage(message: SyncMessage): void;
|
|
35
|
+
peers(): PeerId[];
|
|
36
|
+
getLocalPeerId(): string;
|
|
37
|
+
}
|
|
38
|
+
export interface HttpSyncServerConfig {
|
|
39
|
+
port: number;
|
|
40
|
+
transport: HttpSyncTransport;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Create a Bun-compatible HTTP request handler for sync messages.
|
|
44
|
+
* Can be used with Bun.serve() or as middleware.
|
|
45
|
+
*/
|
|
46
|
+
export declare function createSyncHandler(transport: HttpSyncTransport): (req: Request) => Response | null;
|
|
47
|
+
//# sourceMappingURL=http-transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-transport.d.ts","sourceRoot":"","sources":["../../src/sync/http-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAMrE,qBAAa,iBAAkB,YAAW,aAAa;IACrD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,UAAU,CAAkC;gBAExC,WAAW,EAAE,MAAM;IAI/B;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IASzD;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK1B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB/D,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI;IAIxD;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAa1C,KAAK,IAAI,MAAM,EAAE;IAIjB,cAAc,IAAI,MAAM;CAGzB;AAMD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,iBAAiB,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,GAAG,IAAI,CA2BjG"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sync Module — Public Surface
|
|
3
|
+
*
|
|
4
|
+
* @module sync
|
|
5
|
+
*
|
|
6
|
+
* Re-exports the CRDT {@link reconcile|reconciler}, {@link SyncEngine} for
|
|
7
|
+
* the have→want→ops→ack protocol, and {@link MemoryTransport} for testing.
|
|
8
|
+
* Branch policies control whether sync uses linear (fast-forward) or
|
|
9
|
+
* CRDT (concurrent append) mode.
|
|
10
|
+
*
|
|
11
|
+
* @see DESIGN.md §3.5 for the branch concurrency model.
|
|
12
|
+
*/
|
|
13
|
+
export type { PeerId, SyncMessage, SyncHaveMessage, SyncWantMessage, SyncOpsMessage, SyncAckMessage, SyncState, BranchPolicy, SyncTransport, } from './types.js';
|
|
14
|
+
export { reconcile, findForkPoint } from './reconciler.js';
|
|
15
|
+
export type { ReconcileResult, ReconcileConflict } from './reconciler.js';
|
|
16
|
+
export { SyncEngine } from './sync-engine.js';
|
|
17
|
+
export { MemoryTransport } from './memory-transport.js';
|
|
18
|
+
export { HttpSyncTransport, createSyncHandler } from './http-transport.js';
|
|
19
|
+
export { WebSocketSyncTransport } from './ws-transport.js';
|
|
20
|
+
export { MultiRepoManager, parseCrossRepoRef, formatCrossRepoRef, } from './multi-repo.js';
|
|
21
|
+
export type { LinkedRepo, CrossRepoRef } from './multi-repo.js';
|
|
22
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,YAAY,EACV,MAAM,EACN,WAAW,EACX,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,SAAS,EACT,YAAY,EACZ,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3D,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
|