trellis 2.1.6 → 2.1.9
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 +100 -10
- package/dist/cli/index.d.ts +14 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +212 -12
- 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/core/agents/harness.d.ts +49 -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 +63 -0
- package/dist/core/agents/types.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 +15 -9
- package/dist/core/kernel/middleware.d.ts +28 -0
- package/dist/core/kernel/middleware.d.ts.map +1 -0
- package/dist/core/kernel/trellis-kernel.d.ts +162 -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/index.d.ts +10 -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 +97 -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 +60 -0
- package/dist/core/persist/backend.d.ts.map +1 -0
- package/dist/core/persist/sqlite-backend.d.ts +41 -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 +107 -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 +83 -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-99j5dc9c.js +9 -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 +216 -0
- package/dist/engine.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-fyg5sgq4.js +11 -0
- package/dist/{index-5m0g9r0y.js → index-04sq3h27.js} +1 -496
- package/dist/index-2r4jxwnb.js +32 -0
- package/dist/index-4beszbgg.js +292 -0
- package/dist/index-5bhe57y9.js +326 -0
- package/dist/index-5p6zgspx.js +77 -0
- package/dist/index-7t92ej34.js +544 -0
- package/dist/index-8fjwnztt.js +155 -0
- package/dist/{index-5b01h414.js → index-czecrvvn.js} +9 -9
- package/dist/index-hgd30epa.js +149 -0
- package/dist/index-k5b0xskw.js +1 -0
- package/dist/index-kbnht9p8.js +1 -0
- package/dist/index-n9f2qyh5.js +495 -0
- package/dist/index-xr7rx360.js +814 -0
- package/dist/index-xzym9w0m.js +43 -0
- package/dist/index-yp88he8n.js +316 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -7
- 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/mcp/docs.d.ts +18 -0
- package/dist/mcp/docs.d.ts.map +1 -0
- package/dist/mcp/index.d.ts +9 -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/react/index.js +189 -0
- package/dist/sdk-sj8rp0m7.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 +24 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +60 -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/tenancy.d.ts +53 -0
- package/dist/server/tenancy.d.ts.map +1 -0
- package/dist/server-3vkpnpbz.js +11 -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-tjr7kk2v.js +13 -0
- package/dist/ui/server.d.ts +38 -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/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 +94 -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/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 +44 -4
- package/dist/index-hybgxe40.js +0 -1174
package/README.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# Trellis
|
|
2
2
|
|
|
3
|
-
> **
|
|
3
|
+
> **The Agentic State Engine** — an event-sourced, causal graph engine for building stateful, auditable, branchable applications. Use it as version control for code, a runtime for AI agents, or a reactive backend for collaborative apps.
|
|
4
4
|
|
|
5
|
-
|
|
|
6
|
-
|
|
|
7
|
-
| **
|
|
8
|
-
| **
|
|
9
|
-
| **
|
|
10
|
-
| **
|
|
5
|
+
| Use Case | How |
|
|
6
|
+
| :--- | :--- |
|
|
7
|
+
| **AI agent runtime** | Tool registry + decision traces + branching — agents operate on state they can fork, audit, and roll back |
|
|
8
|
+
| **Collaborative app backend** | CRDT sync + multi-tenancy + realtime subscriptions via `trellis/server` and `trellis/react` |
|
|
9
|
+
| **Version control for code** | Semantic patching + narrative milestones + Idea Garden for abandoned work revival |
|
|
10
|
+
| **Auditable data platform** | Immutable op log + time travel + identity governance — every mutation is signed and causal |
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
@@ -66,7 +66,7 @@ npx trellis import --from /path/to/git-repo
|
|
|
66
66
|
|
|
67
67
|
## Platform Overview
|
|
68
68
|
|
|
69
|
-
Trellis is
|
|
69
|
+
Trellis is an event-sourced causal graph engine that unifies version control, knowledge management, semantic analysis, and intelligent automation. Every action — code changes, agent decisions, wiki-links, embeddings — is an immutable operation in a causal stream, giving you time-travel, branching, and full auditability out of the box.
|
|
70
70
|
|
|
71
71
|
The platform consists of multiple integrated surfaces:
|
|
72
72
|
|
|
@@ -128,6 +128,10 @@ trellis/
|
|
|
128
128
|
│ │ ├── query/ # EQL-S query engine and Datalog evaluator
|
|
129
129
|
│ │ ├── agents/ # Agent harness, tool registry, decision traces
|
|
130
130
|
│ │ └── plugins/ # Plugin registry, event bus, workspace config
|
|
131
|
+
│ ├── server/ # HTTP+WS server, auth, permissions, tenancy, deploy
|
|
132
|
+
│ │ └── inspector/ # Visual DB inspector (web component)
|
|
133
|
+
│ ├── client/ # Isomorphic SDK (local + remote), config
|
|
134
|
+
│ ├── react/ # React hooks: useTrellis, useEntity, useQuery, useMutation
|
|
131
135
|
│ ├── vcs/ # Version control: ops, branches, milestones, diff, merge
|
|
132
136
|
│ ├── links/ # Wiki-link parsing, resolution, backlink index
|
|
133
137
|
│ ├── embeddings/ # Semantic indexing, vector search, auto-embed, RAG
|
|
@@ -140,6 +144,7 @@ trellis/
|
|
|
140
144
|
│ ├── watcher/ # File watching + ingestion pipeline
|
|
141
145
|
│ ├── mcp/ # Model Context Protocol server integration
|
|
142
146
|
│ ├── cli/ # CLI entrypoint
|
|
147
|
+
│ ├── db/ # ⚠️ Deprecated shim — re-exports from server + client
|
|
143
148
|
│ ├── engine.ts # Composition root
|
|
144
149
|
│ └── index.ts # Main package entrypoint
|
|
145
150
|
├── vscode-extension/ # VS Code extension surface
|
|
@@ -325,6 +330,15 @@ import { TrellisVcsEngine } from 'trellis';
|
|
|
325
330
|
import { EAVStore, TrellisKernel } from 'trellis/core';
|
|
326
331
|
import type { Fact, Link, EntityRecord } from 'trellis/core';
|
|
327
332
|
|
|
333
|
+
// Server — HTTP+WS host, auth, permissions, multi-tenancy
|
|
334
|
+
import { startServer, TenantPool } from 'trellis/server';
|
|
335
|
+
|
|
336
|
+
// Client — isomorphic SDK (local or remote)
|
|
337
|
+
import { TrellisClient } from 'trellis/client';
|
|
338
|
+
|
|
339
|
+
// React — reactive hooks for graph subscriptions
|
|
340
|
+
import { TrellisProvider, useEntity, useQuery } from 'trellis/react';
|
|
341
|
+
|
|
328
342
|
// Version control primitives
|
|
329
343
|
import type { VcsOp, VcsOpKind } from 'trellis/vcs';
|
|
330
344
|
|
|
@@ -464,6 +478,81 @@ const decs = queryDecisions(ctx, { tool: 'trellis_issue_*' });
|
|
|
464
478
|
const chain = queryDecisions(ctx, { entity: 'TRL-5' }); // Full decision chain
|
|
465
479
|
```
|
|
466
480
|
|
|
481
|
+
### `trellis/server` — HTTP + WebSocket Server
|
|
482
|
+
|
|
483
|
+
Production-grade server host for the Trellis engine: multi-tenancy, auth (JWT + OAuth), permission middleware, realtime subscriptions, file uploads, and deployment tooling.
|
|
484
|
+
|
|
485
|
+
```typescript
|
|
486
|
+
import { startServer, TenantPool } from 'trellis/server';
|
|
487
|
+
|
|
488
|
+
const pool = new TenantPool('/data/tenants');
|
|
489
|
+
await startServer({
|
|
490
|
+
port: 3000,
|
|
491
|
+
dbPath: '/data/trellis',
|
|
492
|
+
apiKey: 'secret',
|
|
493
|
+
tenantPool: pool,
|
|
494
|
+
});
|
|
495
|
+
```
|
|
496
|
+
|
|
497
|
+
### `trellis/client` — Isomorphic SDK
|
|
498
|
+
|
|
499
|
+
TypeScript client that works in two modes — **local** (embeds TrellisKernel, zero network) or **remote** (calls the Trellis Server HTTP API). Includes CRUD, EQL-S queries, file uploads, auth, and WebSocket subscriptions.
|
|
500
|
+
|
|
501
|
+
```typescript
|
|
502
|
+
import { TrellisClient } from 'trellis/client';
|
|
503
|
+
|
|
504
|
+
// Remote mode
|
|
505
|
+
const db = new TrellisClient({ url: 'https://myapp.example.com', apiKey: '...' });
|
|
506
|
+
|
|
507
|
+
// Local mode (Node/Bun only)
|
|
508
|
+
const local = new TrellisClient({ path: './.trellis-db' });
|
|
509
|
+
|
|
510
|
+
// CRUD
|
|
511
|
+
const note = await db.create('Note', { title: 'Hello', body: 'World' });
|
|
512
|
+
const notes = await db.list('Note', { limit: 10 });
|
|
513
|
+
|
|
514
|
+
// Realtime subscriptions
|
|
515
|
+
const sub = db.subscribe("find Note where pinned = 'true'", (results) => {
|
|
516
|
+
console.log('Live update:', results);
|
|
517
|
+
});
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
### `trellis/react` — React Hooks
|
|
521
|
+
|
|
522
|
+
Reactive hooks that turn the Trellis client into a live data layer for React applications. Auto-subscribes via WebSocket and cleans up on unmount.
|
|
523
|
+
|
|
524
|
+
```tsx
|
|
525
|
+
import { TrellisProvider, useEntity, useEntities, useQuery, useMutation } from 'trellis/react';
|
|
526
|
+
|
|
527
|
+
function App() {
|
|
528
|
+
return (
|
|
529
|
+
<TrellisProvider url="http://localhost:3000" apiKey="...">
|
|
530
|
+
<NoteList />
|
|
531
|
+
</TrellisProvider>
|
|
532
|
+
);
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
function NoteList() {
|
|
536
|
+
const { data: notes, loading } = useEntities<Note>('Note', { limit: 20 });
|
|
537
|
+
const { create } = useMutation();
|
|
538
|
+
|
|
539
|
+
if (loading) return <p>Loading...</p>;
|
|
540
|
+
return notes.map(n => <NoteCard key={n.id} note={n} />);
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
function NoteDetail({ id }: { id: string }) {
|
|
544
|
+
const { data: note, loading } = useEntity<Note>(id);
|
|
545
|
+
if (loading || !note) return <p>Loading...</p>;
|
|
546
|
+
return <h1>{note.title}</h1>;
|
|
547
|
+
}
|
|
548
|
+
```
|
|
549
|
+
|
|
550
|
+
### `trellis/db` — Deprecated Alias
|
|
551
|
+
|
|
552
|
+
> **⚠️ Deprecated.** Use `trellis/server` and `trellis/client` instead.
|
|
553
|
+
|
|
554
|
+
This subpath re-exports everything from `trellis/server` and `trellis/client` for backward compatibility. It will be removed in a future major version.
|
|
555
|
+
|
|
467
556
|
### `src/garden/` — Idea Garden
|
|
468
557
|
|
|
469
558
|
Detects abandoned work using three heuristics, then exposes a query API.
|
|
@@ -760,5 +849,6 @@ just publish
|
|
|
760
849
|
| P15 | Plugin system + event bus + workspace config | ✅ | |
|
|
761
850
|
| P16 | Sync federation + multi-repo linking | ✅ | |
|
|
762
851
|
| P17 | Advanced knowledge graph + cross-repo intelligence | 🚧 | In Progress |
|
|
763
|
-
| P18 |
|
|
764
|
-
| P19 |
|
|
852
|
+
| P18 | Agentic State Engine pivot — server/client/react split | ✅ | |
|
|
853
|
+
| P19 | Enterprise collaboration features + RBAC | 📋 | Planned |
|
|
854
|
+
| P20 | Advanced AI capabilities + intelligent automation | 📋 | Planned |
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
/**
|
|
3
|
+
* TrellisVCS CLI
|
|
4
|
+
*
|
|
5
|
+
* Commands:
|
|
6
|
+
* init Initialize a new TrellisVCS repository
|
|
7
|
+
* status Show current repository status
|
|
8
|
+
* log Show operation history
|
|
9
|
+
* watch Start file watcher (foreground)
|
|
10
|
+
* files List tracked files
|
|
11
|
+
* import Import from a Git repository
|
|
12
|
+
*/
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;GAUG"}
|
package/dist/cli/index.js
CHANGED
|
@@ -3,19 +3,12 @@
|
|
|
3
3
|
import {
|
|
4
4
|
TrellisVcsEngine,
|
|
5
5
|
init_engine
|
|
6
|
-
} from "../index-
|
|
6
|
+
} from "../index-czecrvvn.js";
|
|
7
7
|
import {
|
|
8
8
|
OntologyRegistry,
|
|
9
9
|
builtinOntologies,
|
|
10
|
-
parseQuery,
|
|
11
|
-
parseSimple,
|
|
12
10
|
validateStore
|
|
13
|
-
} from "../index-
|
|
14
|
-
import {
|
|
15
|
-
QueryEngine,
|
|
16
|
-
SqliteKernelBackend,
|
|
17
|
-
TrellisKernel
|
|
18
|
-
} from "../index-hybgxe40.js";
|
|
11
|
+
} from "../index-04sq3h27.js";
|
|
19
12
|
import"../index-3ejh8k6v.js";
|
|
20
13
|
import {
|
|
21
14
|
VectorStore,
|
|
@@ -38,6 +31,18 @@ import {
|
|
|
38
31
|
createVcsOp,
|
|
39
32
|
init_ops
|
|
40
33
|
} from "../index-v9b4hqa7.js";
|
|
34
|
+
import {
|
|
35
|
+
parseQuery,
|
|
36
|
+
parseSimple
|
|
37
|
+
} from "../index-n9f2qyh5.js";
|
|
38
|
+
import {
|
|
39
|
+
SqliteKernelBackend,
|
|
40
|
+
TrellisKernel
|
|
41
|
+
} from "../index-7t92ej34.js";
|
|
42
|
+
import"../index-5bhe57y9.js";
|
|
43
|
+
import {
|
|
44
|
+
QueryEngine
|
|
45
|
+
} from "../index-yp88he8n.js";
|
|
41
46
|
import {
|
|
42
47
|
__commonJS,
|
|
43
48
|
__esm,
|
|
@@ -3662,7 +3667,7 @@ program2.command("init").description("Initialize a new TrellisVCS repository in
|
|
|
3662
3667
|
process.stdout.write("\r\x1B[2K");
|
|
3663
3668
|
return;
|
|
3664
3669
|
}
|
|
3665
|
-
const label = progress.phase === "discovering" ? "Discovering\u2026" : progress.phase === "hashing" ? "Hashing\u2026" : "
|
|
3670
|
+
const label = progress.phase === "discovering" ? "Discovering\u2026" : progress.phase === "hashing" ? "Hashing\u2026" : "Scanning\u2026";
|
|
3666
3671
|
process.stdout.write(`\r\x1B[2K ${source_default.dim(label)} ${progress.message}`);
|
|
3667
3672
|
}
|
|
3668
3673
|
});
|
|
@@ -3672,11 +3677,21 @@ program2.command("init").description("Initialize a new TrellisVCS repository in
|
|
|
3672
3677
|
}
|
|
3673
3678
|
console.log(source_default.green("\u2713 Initialized Trellis repository"));
|
|
3674
3679
|
console.log(` ${source_default.dim("Path:")} ${rootPath}`);
|
|
3675
|
-
console.log(` ${source_default.dim("Ops:")} ${result.opsCreated} initial operations
|
|
3680
|
+
console.log(` ${source_default.dim("Ops:")} ${result.opsCreated} initial operations scanned`);
|
|
3676
3681
|
console.log(` ${source_default.dim("Config:")} .trellis/config.json`);
|
|
3677
3682
|
console.log(` ${source_default.dim("Op log:")} .trellis/ops.json`);
|
|
3683
|
+
console.log(` ${source_default.dim("Graph DB:")} .trellis/graph.db`);
|
|
3684
|
+
console.log();
|
|
3685
|
+
console.log(source_default.bold("Next steps:"));
|
|
3678
3686
|
console.log();
|
|
3679
|
-
console.log(source_default.
|
|
3687
|
+
console.log(` ${source_default.cyan("trellis status")} Check repository status`);
|
|
3688
|
+
console.log(` ${source_default.cyan("trellis log")} View recent history`);
|
|
3689
|
+
console.log(` ${source_default.cyan("trellis branch")} List or create branches`);
|
|
3690
|
+
console.log(` ${source_default.cyan("trellis milestone")} Create narrative checkpoints`);
|
|
3691
|
+
console.log(` ${source_default.cyan("trellis garden")} Discover abandoned work`);
|
|
3692
|
+
console.log(` ${source_default.cyan("trellis issue")} Create and track issues`);
|
|
3693
|
+
console.log();
|
|
3694
|
+
console.log(source_default.dim("The causal stream is now active. Every file change will be tracked."));
|
|
3680
3695
|
});
|
|
3681
3696
|
program2.command("repair").description("Attempt to repair a corrupted .trellis/ops.json file").option("-p, --path <path>", "Repository path", ".").action((opts) => {
|
|
3682
3697
|
const rootPath = resolve(opts.path);
|
|
@@ -5716,4 +5731,189 @@ function formatRelativeTime(iso) {
|
|
|
5716
5731
|
return `${Math.floor(diff / 3600000)}h ago`;
|
|
5717
5732
|
return `${Math.floor(diff / 86400000)}d ago`;
|
|
5718
5733
|
}
|
|
5734
|
+
var db = program2.command("db").description("Trellis DB \u2014 use Trellis as an application database");
|
|
5735
|
+
db.command("init").description("Initialize a new Trellis DB in the current directory").option("-p, --path <path>", "Database directory", ".trellis-db").option("--port <port>", "Server port", "3000").option("--key <key>", "API key (auto-generated if omitted)").option("--jwt-secret <secret>", "JWT secret (auto-generated if omitted)").option("--multi-tenant", "Enable multi-tenancy (separate SQLite per tenant)").action(async (opts) => {
|
|
5736
|
+
const { writeConfig, defaultLocalConfig, hasConfig, configPath } = await import("../config-8hczw0rs.js");
|
|
5737
|
+
const { resolve: resolve2 } = await import("path");
|
|
5738
|
+
if (hasConfig(".")) {
|
|
5739
|
+
console.log(source_default.yellow(`Already initialized (${configPath(".")}). Use \`trellis db serve\` to start.`));
|
|
5740
|
+
return;
|
|
5741
|
+
}
|
|
5742
|
+
const dbPath = resolve2(opts.path);
|
|
5743
|
+
const apiKey = opts.key ?? `spk_${crypto.randomUUID().replace(/-/g, "")}`;
|
|
5744
|
+
const jwtSecret = opts.jwtSecret ?? `jws_${crypto.randomUUID().replace(/-/g, "")}`;
|
|
5745
|
+
writeConfig(defaultLocalConfig(dbPath, {
|
|
5746
|
+
port: parseInt(opts.port),
|
|
5747
|
+
apiKey,
|
|
5748
|
+
jwtSecret,
|
|
5749
|
+
multiTenant: !!opts.multiTenant
|
|
5750
|
+
}), ".");
|
|
5751
|
+
console.log(source_default.green("\u2713 Trellis DB initialized"));
|
|
5752
|
+
console.log(source_default.dim(` Config: .trellis-db.json`));
|
|
5753
|
+
console.log(source_default.dim(` DB path: ${dbPath}`));
|
|
5754
|
+
console.log(source_default.dim(` API key: ${apiKey}`));
|
|
5755
|
+
console.log(source_default.dim(` Port: ${opts.port}`));
|
|
5756
|
+
console.log("");
|
|
5757
|
+
console.log(source_default.bold("Next steps:"));
|
|
5758
|
+
console.log(` ${source_default.cyan("trellis db serve")} Start the local HTTP server`);
|
|
5759
|
+
console.log(` ${source_default.cyan("trellis db deploy --name <n>")} Deploy to Sprites`);
|
|
5760
|
+
});
|
|
5761
|
+
db.command("serve").description("Start the Trellis DB HTTP + WebSocket server").option("-p, --port <port>", "Override port from config").option("--config-dir <dir>", "Directory containing .trellis-db.json", ".").action(async (opts) => {
|
|
5762
|
+
const { readConfig } = await import("../config-8hczw0rs.js");
|
|
5763
|
+
const { TenantPool } = await import("../tenancy-tjr7kk2v.js");
|
|
5764
|
+
const { startServer } = await import("../server-3vkpnpbz.js");
|
|
5765
|
+
const config = readConfig(opts.configDir);
|
|
5766
|
+
if (!config) {
|
|
5767
|
+
console.error(source_default.red("No .trellis-db.json found. Run `trellis db init` first."));
|
|
5768
|
+
process.exit(1);
|
|
5769
|
+
}
|
|
5770
|
+
if (!config.dbPath) {
|
|
5771
|
+
console.error(source_default.red("Config is missing dbPath. Re-run `trellis db init`."));
|
|
5772
|
+
process.exit(1);
|
|
5773
|
+
}
|
|
5774
|
+
const port = opts.port ? parseInt(opts.port) : config.port ?? 3000;
|
|
5775
|
+
const pool = new TenantPool(config.dbPath);
|
|
5776
|
+
const server = startServer({ port, config, pool });
|
|
5777
|
+
console.log(source_default.green(`\u2713 Trellis DB running`));
|
|
5778
|
+
console.log(source_default.dim(` URL: http://localhost:${port}`));
|
|
5779
|
+
console.log(source_default.dim(` Docs: GET http://localhost:${port}/health`));
|
|
5780
|
+
if (config.apiKey) {
|
|
5781
|
+
console.log(source_default.dim(` Key: ${config.apiKey}`));
|
|
5782
|
+
}
|
|
5783
|
+
});
|
|
5784
|
+
db.command("create <type> [json]").description("Create an entity (json can be a JSON string or @file.json)").option("--config-dir <dir>", "Config directory", ".").option("--tenant <id>", "Tenant ID").action(async (type, jsonArg, opts) => {
|
|
5785
|
+
const { TrellisDb } = await import("../sdk-sj8rp0m7.js");
|
|
5786
|
+
const db2 = TrellisDb.fromConfig(opts.configDir);
|
|
5787
|
+
let attributes = {};
|
|
5788
|
+
if (jsonArg) {
|
|
5789
|
+
const { readFileSync: readFileSync4 } = await import("fs");
|
|
5790
|
+
const raw = jsonArg.startsWith("@") ? readFileSync4(jsonArg.slice(1), "utf8") : jsonArg;
|
|
5791
|
+
attributes = JSON.parse(raw);
|
|
5792
|
+
}
|
|
5793
|
+
const id = await db2.create(type, attributes);
|
|
5794
|
+
console.log(source_default.green(`\u2713 Created: ${source_default.bold(id)}`));
|
|
5795
|
+
db2.close();
|
|
5796
|
+
});
|
|
5797
|
+
db.command("read <id>").description("Read an entity by ID").option("--config-dir <dir>", "Config directory", ".").action(async (id, opts) => {
|
|
5798
|
+
const { TrellisDb } = await import("../sdk-sj8rp0m7.js");
|
|
5799
|
+
const db2 = TrellisDb.fromConfig(opts.configDir);
|
|
5800
|
+
const entity = await db2.read(id);
|
|
5801
|
+
if (!entity) {
|
|
5802
|
+
console.error(source_default.red(`Not found: ${id}`));
|
|
5803
|
+
process.exit(1);
|
|
5804
|
+
}
|
|
5805
|
+
console.log(JSON.stringify(entity, null, 2));
|
|
5806
|
+
db2.close();
|
|
5807
|
+
});
|
|
5808
|
+
db.command("update <id> <json>").description("Update entity attributes (JSON string or @file.json)").option("--config-dir <dir>", "Config directory", ".").action(async (id, jsonArg, opts) => {
|
|
5809
|
+
const { TrellisDb } = await import("../sdk-sj8rp0m7.js");
|
|
5810
|
+
const db2 = TrellisDb.fromConfig(opts.configDir);
|
|
5811
|
+
const { readFileSync: readFileSync4 } = await import("fs");
|
|
5812
|
+
const raw = jsonArg.startsWith("@") ? readFileSync4(jsonArg.slice(1), "utf8") : jsonArg;
|
|
5813
|
+
await db2.update(id, JSON.parse(raw));
|
|
5814
|
+
console.log(source_default.green(`\u2713 Updated: ${source_default.bold(id)}`));
|
|
5815
|
+
db2.close();
|
|
5816
|
+
});
|
|
5817
|
+
db.command("delete <id>").description("Delete an entity by ID").option("--config-dir <dir>", "Config directory", ".").action(async (id, opts) => {
|
|
5818
|
+
const { TrellisDb } = await import("../sdk-sj8rp0m7.js");
|
|
5819
|
+
const db2 = TrellisDb.fromConfig(opts.configDir);
|
|
5820
|
+
await db2.delete(id);
|
|
5821
|
+
console.log(source_default.green(`\u2713 Deleted: ${source_default.bold(id)}`));
|
|
5822
|
+
db2.close();
|
|
5823
|
+
});
|
|
5824
|
+
db.command("list").description("List entities").option("--type <type>", "Filter by entity type").option("--limit <n>", "Max results", "50").option("--offset <n>", "Offset", "0").option("--config-dir <dir>", "Config directory", ".").action(async (opts) => {
|
|
5825
|
+
const { TrellisDb } = await import("../sdk-sj8rp0m7.js");
|
|
5826
|
+
const db2 = TrellisDb.fromConfig(opts.configDir);
|
|
5827
|
+
const result = await db2.list(opts.type, {
|
|
5828
|
+
limit: parseInt(opts.limit),
|
|
5829
|
+
offset: parseInt(opts.offset)
|
|
5830
|
+
});
|
|
5831
|
+
console.log(JSON.stringify(result, null, 2));
|
|
5832
|
+
db2.close();
|
|
5833
|
+
});
|
|
5834
|
+
db.command("query <eql>").description("Run an EQL-S query").option("--config-dir <dir>", "Config directory", ".").action(async (eql, opts) => {
|
|
5835
|
+
const { TrellisDb } = await import("../sdk-sj8rp0m7.js");
|
|
5836
|
+
const db2 = TrellisDb.fromConfig(opts.configDir);
|
|
5837
|
+
const result = await db2.query(eql);
|
|
5838
|
+
console.log(JSON.stringify(result.bindings, null, 2));
|
|
5839
|
+
console.log(source_default.dim(`Execution time: ${result.executionTime}ms`));
|
|
5840
|
+
db2.close();
|
|
5841
|
+
});
|
|
5842
|
+
db.command("upload <file>").description("Upload a file to the blob store").option("--config-dir <dir>", "Config directory", ".").option("--type <mime>", "MIME type (auto-detected if omitted)").action(async (filePath, opts) => {
|
|
5843
|
+
const { readFileSync: readFileSync4 } = await import("fs");
|
|
5844
|
+
const { extname } = await import("path");
|
|
5845
|
+
const { TrellisDb } = await import("../sdk-sj8rp0m7.js");
|
|
5846
|
+
const mimeMap = {
|
|
5847
|
+
".png": "image/png",
|
|
5848
|
+
".jpg": "image/jpeg",
|
|
5849
|
+
".jpeg": "image/jpeg",
|
|
5850
|
+
".gif": "image/gif",
|
|
5851
|
+
".pdf": "application/pdf",
|
|
5852
|
+
".json": "application/json",
|
|
5853
|
+
".txt": "text/plain"
|
|
5854
|
+
};
|
|
5855
|
+
const contentType = opts.type ?? mimeMap[extname(filePath).toLowerCase()] ?? "application/octet-stream";
|
|
5856
|
+
const buffer = readFileSync4(filePath);
|
|
5857
|
+
const db2 = TrellisDb.fromConfig(opts.configDir);
|
|
5858
|
+
const result = await db2.upload(new Uint8Array(buffer), contentType);
|
|
5859
|
+
console.log(source_default.green(`\u2713 Uploaded`));
|
|
5860
|
+
console.log(source_default.dim(` Hash: ${result.hash}`));
|
|
5861
|
+
console.log(source_default.dim(` Size: ${result.size} bytes`));
|
|
5862
|
+
db2.close();
|
|
5863
|
+
});
|
|
5864
|
+
db.command("import <file>").description("Import data from CSV, JSON, NDJSON, or Parquet").requiredOption("--type <type>", "Entity type to assign to each record").option("--id-field <field>", "Field to use as entity ID").option("--limit <n>", "Max rows to import").option("--config-dir <dir>", "Config directory", ".").option("--tenant <id>", "Tenant ID").action(async (filePath, opts) => {
|
|
5865
|
+
const { readConfig } = await import("../config-8hczw0rs.js");
|
|
5866
|
+
const { TenantPool } = await import("../tenancy-tjr7kk2v.js");
|
|
5867
|
+
const { importFile } = await import("../import-fyg5sgq4.js");
|
|
5868
|
+
const config = readConfig(opts.configDir);
|
|
5869
|
+
if (!config?.dbPath) {
|
|
5870
|
+
console.error(source_default.red("No .trellis-db.json found. Run `trellis db init` first."));
|
|
5871
|
+
process.exit(1);
|
|
5872
|
+
}
|
|
5873
|
+
const pool = new TenantPool(config.dbPath);
|
|
5874
|
+
const kernel = pool.get(opts.tenant ?? null);
|
|
5875
|
+
const result = await importFile(kernel, filePath, {
|
|
5876
|
+
type: opts.type,
|
|
5877
|
+
idField: opts.idField,
|
|
5878
|
+
limit: opts.limit ? parseInt(opts.limit) : undefined
|
|
5879
|
+
});
|
|
5880
|
+
console.log(source_default.green(`\u2713 Import complete`));
|
|
5881
|
+
console.log(source_default.dim(` Imported: ${result.imported}`));
|
|
5882
|
+
console.log(source_default.dim(` Skipped: ${result.skipped}`));
|
|
5883
|
+
if (result.errors.length > 0) {
|
|
5884
|
+
console.log(source_default.yellow(` Errors: ${result.errors.length}`));
|
|
5885
|
+
result.errors.slice(0, 5).forEach((e) => {
|
|
5886
|
+
console.log(source_default.red(` Row ${e.row}: ${e.message}`));
|
|
5887
|
+
});
|
|
5888
|
+
}
|
|
5889
|
+
pool.closeAll();
|
|
5890
|
+
});
|
|
5891
|
+
db.command("deploy").description("Deploy Trellis DB to a Sprites cloud environment").requiredOption("--name <name>", "Sprite name (becomes <name>.sprites.app)").option("--key <key>", "API key for the deployed server (auto-generated if omitted)").option("--jwt-secret <secret>", "JWT secret (auto-generated if omitted)").option("--port <port>", "Port to run on inside Sprite", "3000").option("--config-dir <dir>", "Config directory", ".").action(async (opts) => {
|
|
5892
|
+
const { deploy } = await import("../deploy-99j5dc9c.js");
|
|
5893
|
+
const { readConfig } = await import("../config-8hczw0rs.js");
|
|
5894
|
+
const config = readConfig(opts.configDir);
|
|
5895
|
+
console.log(source_default.bold(`Deploying to Sprites: ${opts.name}...`));
|
|
5896
|
+
try {
|
|
5897
|
+
const result = await deploy({
|
|
5898
|
+
name: opts.name,
|
|
5899
|
+
dbPath: config?.dbPath,
|
|
5900
|
+
apiKey: opts.key,
|
|
5901
|
+
jwtSecret: opts.jwtSecret,
|
|
5902
|
+
port: opts.port ? parseInt(opts.port) : 3000,
|
|
5903
|
+
configDir: opts.configDir,
|
|
5904
|
+
onProgress: (msg) => console.log(source_default.dim(` ${msg}`))
|
|
5905
|
+
});
|
|
5906
|
+
console.log("");
|
|
5907
|
+
console.log(source_default.green(`\u2713 Deployed successfully`));
|
|
5908
|
+
console.log(source_default.dim(` URL: ${result.url}`));
|
|
5909
|
+
console.log(source_default.dim(` Key: ${result.apiKey}`));
|
|
5910
|
+
console.log("");
|
|
5911
|
+
console.log(source_default.bold("SDK usage:"));
|
|
5912
|
+
console.log(source_default.cyan(` import { TrellisClient } from 'trellis/client';`));
|
|
5913
|
+
console.log(source_default.cyan(` const db = new TrellisClient({ url: '${result.url}', apiKey: '${result.apiKey}' });`));
|
|
5914
|
+
} catch (err) {
|
|
5915
|
+
console.error(source_default.red(`Deploy failed: ${err.message}`));
|
|
5916
|
+
process.exit(1);
|
|
5917
|
+
}
|
|
5918
|
+
});
|
|
5719
5919
|
program2.parse();
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trellis Client — Configuration
|
|
3
|
+
*
|
|
4
|
+
* Manages `.trellis-db.json` — the local project config file that records
|
|
5
|
+
* whether this instance is running locally or deployed to Sprites.
|
|
6
|
+
*
|
|
7
|
+
* @module trellis/client
|
|
8
|
+
*/
|
|
9
|
+
export type DbMode = 'local' | 'remote';
|
|
10
|
+
export interface TrellisDbConfig {
|
|
11
|
+
/** Whether the DB is local (SQLite) or remote (Sprites/custom URL). */
|
|
12
|
+
mode: DbMode;
|
|
13
|
+
/** Absolute path to the SQLite database directory (local mode). */
|
|
14
|
+
dbPath?: string;
|
|
15
|
+
/** Remote API base URL (remote mode). */
|
|
16
|
+
url?: string;
|
|
17
|
+
/** API key for remote mode authentication. */
|
|
18
|
+
apiKey?: string;
|
|
19
|
+
/** Sprites sprite name (used for deploy). */
|
|
20
|
+
spriteName?: string;
|
|
21
|
+
/** ISO timestamp of last deploy. */
|
|
22
|
+
deployedAt?: string;
|
|
23
|
+
/** Port for local server mode (default: 3000). */
|
|
24
|
+
port?: number;
|
|
25
|
+
/** Enable multi-tenancy (separate SQLite per tenant). */
|
|
26
|
+
multiTenant?: boolean;
|
|
27
|
+
/** Secret used to sign/verify JWTs. */
|
|
28
|
+
jwtSecret?: string;
|
|
29
|
+
}
|
|
30
|
+
export declare const CONFIG_FILE = ".trellis-db.json";
|
|
31
|
+
/**
|
|
32
|
+
* Resolve the config file path relative to a directory.
|
|
33
|
+
*/
|
|
34
|
+
export declare function configPath(dir?: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* Check if a `.trellis-db.json` exists in the given directory.
|
|
37
|
+
*/
|
|
38
|
+
export declare function hasConfig(dir?: string): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Read and parse the `.trellis-db.json` config file.
|
|
41
|
+
* Returns null if the file doesn't exist.
|
|
42
|
+
*/
|
|
43
|
+
export declare function readConfig(dir?: string): TrellisDbConfig | null;
|
|
44
|
+
/**
|
|
45
|
+
* Write a config to `.trellis-db.json`.
|
|
46
|
+
*/
|
|
47
|
+
export declare function writeConfig(config: TrellisDbConfig, dir?: string): void;
|
|
48
|
+
/**
|
|
49
|
+
* Merge partial updates into an existing config file (creates if missing).
|
|
50
|
+
*/
|
|
51
|
+
export declare function updateConfig(updates: Partial<TrellisDbConfig>, dir?: string): TrellisDbConfig;
|
|
52
|
+
/**
|
|
53
|
+
* Build a local config with sensible defaults for a given directory.
|
|
54
|
+
*/
|
|
55
|
+
export declare function defaultLocalConfig(dbPath: string, opts?: Partial<TrellisDbConfig>): TrellisDbConfig;
|
|
56
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/client/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAExC,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD,eAAO,MAAM,WAAW,qBAAqB,CAAC;AAM9C;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,SAAM,GAAG,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,SAAM,GAAG,OAAO,CAE5C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,SAAM,GAAG,eAAe,GAAG,IAAI,CAQ5D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,SAAM,GAAG,IAAI,CAGpE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,EACjC,GAAG,SAAM,GACR,eAAe,CAKjB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,OAAO,CAAC,eAAe,CAAM,GAClC,eAAe,CAQjB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trellis Client — Public API Surface
|
|
3
|
+
*
|
|
4
|
+
* Isomorphic SDK for interacting with Trellis (local or remote).
|
|
5
|
+
* Import from `trellis/client`:
|
|
6
|
+
*
|
|
7
|
+
* import { TrellisClient } from 'trellis/client';
|
|
8
|
+
*
|
|
9
|
+
* @module trellis/client
|
|
10
|
+
*/
|
|
11
|
+
export { TrellisDb as TrellisClient, TrellisDb, FetchError } from './sdk.js';
|
|
12
|
+
export type { EntityData, ListResult, QueryResult, UploadResult, AuthResult, Subscription, SubscriptionCallback, TrellisDbLocalOptions, TrellisDbRemoteOptions, TrellisDbOptions, } from './sdk.js';
|
|
13
|
+
export { readConfig, writeConfig, updateConfig, hasConfig, configPath, defaultLocalConfig, CONFIG_FILE, } from './config.js';
|
|
14
|
+
export type { TrellisDbConfig, DbMode } from './config.js';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC7E,YAAY,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,SAAS,EACT,UAAU,EACV,kBAAkB,EAClB,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import"../index-k5b0xskw.js";
|
|
3
|
+
import {
|
|
4
|
+
FetchError,
|
|
5
|
+
TrellisDb
|
|
6
|
+
} from "../index-4beszbgg.js";
|
|
7
|
+
import {
|
|
8
|
+
CONFIG_FILE,
|
|
9
|
+
configPath,
|
|
10
|
+
defaultLocalConfig,
|
|
11
|
+
hasConfig,
|
|
12
|
+
readConfig,
|
|
13
|
+
updateConfig,
|
|
14
|
+
writeConfig
|
|
15
|
+
} from "../index-xzym9w0m.js";
|
|
16
|
+
import"../index-5p6zgspx.js";
|
|
17
|
+
import"../index-7t92ej34.js";
|
|
18
|
+
import"../index-5bhe57y9.js";
|
|
19
|
+
import"../index-yp88he8n.js";
|
|
20
|
+
import"../index-a76rekgs.js";
|
|
21
|
+
export {
|
|
22
|
+
writeConfig,
|
|
23
|
+
updateConfig,
|
|
24
|
+
readConfig,
|
|
25
|
+
hasConfig,
|
|
26
|
+
defaultLocalConfig,
|
|
27
|
+
configPath,
|
|
28
|
+
TrellisDb,
|
|
29
|
+
TrellisDb as TrellisClient,
|
|
30
|
+
FetchError,
|
|
31
|
+
CONFIG_FILE
|
|
32
|
+
};
|