@kilnai/core 0.1.10 → 0.1.11
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
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://raw.githubusercontent.com/sequelcore/kiln/main/docs/assets/mascot.png" alt="Kiln" width="120" />
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<h1 align="center">@kilnai/core</h1>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<a href="https://www.npmjs.com/package/@kilnai/core"><img src="https://img.shields.io/npm/v/@kilnai/core.svg" alt="npm version" /></a>
|
|
9
|
+
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT" /></a>
|
|
10
|
+
</p>
|
|
11
|
+
|
|
12
|
+
<p align="center">Domain-agnostic AI orchestration engine. 7 primitives, 3 composites, YAML-configured.</p>
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## What is this?
|
|
17
|
+
|
|
18
|
+
`@kilnai/core` is the engine behind [Kiln](https://github.com/sequelcore/kiln) -- a YAML-first framework for building AI agents, teams, and workflows. It provides:
|
|
19
|
+
|
|
20
|
+
- **7 primitives**: Agent, Capability, Workflow, Memory, Task, Channel, Trigger
|
|
21
|
+
- **3 composites**: Team, Router, App
|
|
22
|
+
- **4 provider adapters**: Anthropic, OpenAI, DeepSeek, Ollama
|
|
23
|
+
- **Phase-gated orchestrator** with checkpoint/resume, 3 team strategies
|
|
24
|
+
- **MCP client** (Streamable HTTP) for external tool integration
|
|
25
|
+
- **Memory** (SQLite + FTS5) with 5 scopes, decay curves, auto-compaction
|
|
26
|
+
- **Knowledge (RAG)** with chunkers, embedding adapters, and retrieval pipeline
|
|
27
|
+
- **Safety pipeline**: PII detection (6 types), content classification (6 categories), 4 policy rails
|
|
28
|
+
- **Eval framework**: 12 scorer types, YAML-configured experiments
|
|
29
|
+
- **55 typed error codes** with context-aware suggestions
|
|
30
|
+
|
|
31
|
+
## Install
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
bun add @kilnai/core
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Usage
|
|
38
|
+
|
|
39
|
+
Define your app in YAML:
|
|
40
|
+
|
|
41
|
+
```yaml
|
|
42
|
+
name: my-agent
|
|
43
|
+
runtime: provider-adapter
|
|
44
|
+
channels: [web]
|
|
45
|
+
|
|
46
|
+
provider:
|
|
47
|
+
name: anthropic
|
|
48
|
+
model: claude-haiku-4-5-20251001
|
|
49
|
+
apiKeyEnv: ANTHROPIC_API_KEY
|
|
50
|
+
|
|
51
|
+
memory:
|
|
52
|
+
scopes: [user]
|
|
53
|
+
backend: sqlite+fts5
|
|
54
|
+
|
|
55
|
+
router:
|
|
56
|
+
fallback: main
|
|
57
|
+
|
|
58
|
+
teams:
|
|
59
|
+
main:
|
|
60
|
+
agents:
|
|
61
|
+
assistant:
|
|
62
|
+
name: Assistant
|
|
63
|
+
role: Helpful AI assistant
|
|
64
|
+
goal: Answer questions clearly
|
|
65
|
+
tier: fast
|
|
66
|
+
tools: []
|
|
67
|
+
workflow:
|
|
68
|
+
phases: [respond]
|
|
69
|
+
capabilities: []
|
|
70
|
+
qualityGates: []
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Load and validate it programmatically:
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
import { Engine } from "@kilnai/core";
|
|
77
|
+
|
|
78
|
+
const app = Engine.parseAppYaml(yamlString);
|
|
79
|
+
Engine.validateApp(app);
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Key exports
|
|
83
|
+
|
|
84
|
+
| Namespace | Purpose |
|
|
85
|
+
|-----------|---------|
|
|
86
|
+
| `Engine` | 7 primitives, 3 composites, YAML loader, error catalog |
|
|
87
|
+
| `Orchestrator` | Phase machine, checkpoint/resume, strategies |
|
|
88
|
+
| `Agents` | Provider adapters, MCP client, tool cache, circuit breaker |
|
|
89
|
+
| `Memory` | SQLite + FTS5 storage, git sync, decay |
|
|
90
|
+
| `Safety` | PII scanner, content classifier, policy rails, pipeline |
|
|
91
|
+
| `Knowledge` | Chunkers, embedding adapters, vector store, retrieval |
|
|
92
|
+
| `Eval` | 12 scorers, dataset loader, experiment runner |
|
|
93
|
+
| `Events` | EventBus (32 typed events), EventStore |
|
|
94
|
+
| `Security` | Audit log, prompt injection detection, secrets |
|
|
95
|
+
| `Cost` | Per-role, cache-aware cost tracking |
|
|
96
|
+
|
|
97
|
+
## Documentation
|
|
98
|
+
|
|
99
|
+
- [Getting Started](https://github.com/sequelcore/kiln/blob/main/docs/getting-started.md)
|
|
100
|
+
- [Core Concepts](https://github.com/sequelcore/kiln/blob/main/docs/concepts.md)
|
|
101
|
+
- [App Configuration](https://github.com/sequelcore/kiln/blob/main/docs/configuration/app-yaml.md)
|
|
102
|
+
- [Architecture](https://github.com/sequelcore/kiln/blob/main/docs/architecture.md)
|
|
103
|
+
|
|
104
|
+
## License
|
|
105
|
+
|
|
106
|
+
[MIT](https://github.com/sequelcore/kiln/blob/main/LICENSE)
|
|
@@ -33,6 +33,7 @@ export interface TenantConfig {
|
|
|
33
33
|
readonly tenantId: string;
|
|
34
34
|
readonly appName: string;
|
|
35
35
|
readonly name: string;
|
|
36
|
+
readonly businessName?: string;
|
|
36
37
|
readonly description?: string;
|
|
37
38
|
readonly services?: readonly TenantService[];
|
|
38
39
|
readonly hours?: TenantHours;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant-config.d.ts","sourceRoot":"","sources":["../../../src/engine/gateway/tenant-config.ts"],"names":[],"mappings":"AAGA,+CAA+C;AAC/C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,sCAAsC;AACtC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,kDAAkD;AAClD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,uCAAuC;AACvC,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,2CAA2C;AAC3C,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE1D,qEAAqE;AACrE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAChD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,gDAAgD;AAChD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAKD,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,qBAAqB,EAAE,CA4ClF"}
|
|
1
|
+
{"version":3,"file":"tenant-config.d.ts","sourceRoot":"","sources":["../../../src/engine/gateway/tenant-config.ts"],"names":[],"mappings":"AAGA,+CAA+C;AAC/C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,sCAAsC;AACtC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,kDAAkD;AAClD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,uCAAuC;AACvC,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,2CAA2C;AAC3C,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE1D,qEAAqE;AACrE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAChD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,gDAAgD;AAChD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAKD,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,qBAAqB,EAAE,CA4ClF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant-config.js","sourceRoot":"","sources":["../../../src/engine/gateway/tenant-config.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,iFAAiF;
|
|
1
|
+
{"version":3,"file":"tenant-config.js","sourceRoot":"","sources":["../../../src/engine/gateway/tenant-config.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,iFAAiF;AAqEjF,MAAM,iBAAiB,GAAG,mCAAmC,CAAC;AAC9D,MAAM,WAAW,GAA0B,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AAE5E,2EAA2E;AAC3E,MAAM,UAAU,oBAAoB,CAAC,MAAoB;IACvD,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,uCAAuC;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;IAC5E,CAAC;SAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,uFAAuF;SACjG,CAAC,CAAC;IACL,CAAC;IAED,4BAA4B;IAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,yBAAyB;IACzB,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,kCAAkC;IAClC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAkB,CAAC,EAAE,CAAC;QAClF,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,2BAA2B;IAC3B,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|