@outfitter/kit 0.2.1 → 0.2.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 +26 -96
- package/dist/foundation/contracts.d.ts +1 -0
- package/dist/foundation/contracts.js +3 -0
- package/dist/foundation/index.d.ts +3 -0
- package/dist/foundation/index.js +7 -0
- package/dist/foundation/types.d.ts +1 -0
- package/dist/foundation/types.js +3 -0
- package/dist/index.d.ts +3 -33
- package/dist/index.js +3 -16
- package/package.json +24 -54
- package/VERSIONS.md +0 -38
package/README.md
CHANGED
|
@@ -1,130 +1,60 @@
|
|
|
1
1
|
# @outfitter/kit
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Foundation facade for Outfitter.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
`@outfitter/kit` provides a single foundation entrypoint over:
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
- `@outfitter/contracts`
|
|
8
|
+
- `@outfitter/types`
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
Runtime and transport packages (`@outfitter/cli`, `@outfitter/mcp`, etc.) remain explicit dependencies.
|
|
11
|
+
|
|
12
|
+
## Install
|
|
10
13
|
|
|
11
14
|
```bash
|
|
12
15
|
bun add @outfitter/kit
|
|
13
16
|
```
|
|
14
17
|
|
|
15
|
-
##
|
|
18
|
+
## Root Facade
|
|
16
19
|
|
|
17
|
-
|
|
20
|
+
The root entrypoint re-exports the contracts surface and exposes types under a namespace.
|
|
18
21
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
3. **Checking version requirements** programmatically
|
|
22
|
+
```typescript
|
|
23
|
+
import { Result, ValidationError, Types } from "@outfitter/kit";
|
|
22
24
|
|
|
23
|
-
|
|
24
|
-
# Install stack alongside the packages you need
|
|
25
|
-
bun add @outfitter/kit @outfitter/cli @outfitter/logging @outfitter/config
|
|
25
|
+
const value = Result.ok({ id: Types.shortId() });
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
## Version Matrix
|
|
31
|
-
|
|
32
|
-
See [VERSIONS.md](./VERSIONS.md) for the complete compatibility matrix.
|
|
33
|
-
|
|
34
|
-
### Current Release (0.1.0-rc.1)
|
|
28
|
+
## Foundation Subpaths
|
|
35
29
|
|
|
36
|
-
|
|
37
|
-
|---------|-----------------|
|
|
38
|
-
| @outfitter/contracts | 0.1.0-rc.1 |
|
|
39
|
-
| @outfitter/types | 0.1.0-rc.1 |
|
|
40
|
-
| @outfitter/cli | 0.1.0-rc.1 |
|
|
41
|
-
| @outfitter/config | 0.1.0-rc.1 |
|
|
42
|
-
| @outfitter/logging | 0.1.0-rc.1 |
|
|
43
|
-
| @outfitter/file-ops | 0.1.0-rc.1 |
|
|
44
|
-
| @outfitter/state | 0.1.0-rc.1 |
|
|
45
|
-
| @outfitter/mcp | 0.1.0-rc.1 |
|
|
46
|
-
| @outfitter/index | 0.1.0-rc.1 |
|
|
47
|
-
| @outfitter/daemon | 0.1.0-rc.1 |
|
|
48
|
-
| @outfitter/testing | 0.1.0-rc.1 |
|
|
30
|
+
Use subpaths when you want explicit import intent.
|
|
49
31
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
### STACK_VERSION
|
|
53
|
-
|
|
54
|
-
The current stack version (matches package.json).
|
|
32
|
+
### Contracts
|
|
55
33
|
|
|
56
34
|
```typescript
|
|
57
|
-
import {
|
|
58
|
-
|
|
59
|
-
console.log(`Using Outfitter Stack ${STACK_VERSION}`);
|
|
35
|
+
import { Result, createLoggerFactory } from "@outfitter/kit/foundation/contracts";
|
|
60
36
|
```
|
|
61
37
|
|
|
62
|
-
###
|
|
63
|
-
|
|
64
|
-
Minimum compatible versions for each package.
|
|
38
|
+
### Types
|
|
65
39
|
|
|
66
40
|
```typescript
|
|
67
|
-
import {
|
|
68
|
-
|
|
69
|
-
// Check if a package meets the minimum version
|
|
70
|
-
const cliMinimum = MINIMUM_VERSIONS["@outfitter/cli"]; // "0.1.0-rc.0"
|
|
41
|
+
import { shortId, isDefined } from "@outfitter/kit/foundation/types";
|
|
71
42
|
```
|
|
72
43
|
|
|
73
|
-
###
|
|
74
|
-
|
|
75
|
-
Type for valid package names in the stack.
|
|
44
|
+
### Aggregate Foundation
|
|
76
45
|
|
|
77
46
|
```typescript
|
|
78
|
-
import {
|
|
79
|
-
|
|
80
|
-
function getMinVersion(pkg: OutfitterPackage): string {
|
|
81
|
-
return MINIMUM_VERSIONS[pkg];
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
getMinVersion("@outfitter/cli"); // "0.1.0-rc.0"
|
|
85
|
-
getMinVersion("@outfitter/invalid"); // TypeScript error
|
|
47
|
+
import { Result, Types } from "@outfitter/kit/foundation";
|
|
86
48
|
```
|
|
87
49
|
|
|
88
|
-
##
|
|
89
|
-
|
|
90
|
-
| Export | Type | Description |
|
|
91
|
-
|--------|------|-------------|
|
|
92
|
-
| `STACK_VERSION` | `string` | Current stack version |
|
|
93
|
-
| `MINIMUM_VERSIONS` | `Record<OutfitterPackage, string>` | Minimum versions for all packages |
|
|
94
|
-
| `OutfitterPackage` | `type` | Union type of valid package names |
|
|
95
|
-
|
|
96
|
-
## Dependency Tiers
|
|
97
|
-
|
|
98
|
-
Packages are organized into tiers based on stability:
|
|
99
|
-
|
|
100
|
-
### Foundation (cold)
|
|
101
|
-
Stable APIs, rarely change:
|
|
102
|
-
- `@outfitter/contracts` - Result/Error patterns
|
|
103
|
-
- `@outfitter/types` - Branded types
|
|
50
|
+
## What Kit Does Not Hide
|
|
104
51
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
- `@outfitter/cli` - CLI framework (includes terminal rendering)
|
|
108
|
-
- `@outfitter/config` - Configuration
|
|
109
|
-
- `@outfitter/logging` - Structured logging
|
|
110
|
-
- `@outfitter/file-ops` - File operations
|
|
111
|
-
- `@outfitter/state` - State management
|
|
112
|
-
- `@outfitter/mcp` - MCP server framework
|
|
113
|
-
- `@outfitter/index` - SQLite FTS5 indexing
|
|
114
|
-
- `@outfitter/daemon` - Daemon lifecycle
|
|
52
|
+
`@outfitter/kit` does not implicitly install or expose runtime transports.
|
|
53
|
+
Keep transport dependencies explicit in your app:
|
|
115
54
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
## Related Packages
|
|
121
|
-
|
|
122
|
-
All `@outfitter/*` packages are designed to work together. See individual package documentation:
|
|
123
|
-
|
|
124
|
-
- [@outfitter/contracts](../contracts/README.md) - Result types and error patterns
|
|
125
|
-
- [@outfitter/cli](../cli/README.md) - CLI framework
|
|
126
|
-
- [@outfitter/daemon](../daemon/README.md) - Daemon lifecycle management
|
|
127
|
-
- [@outfitter/testing](../testing/README.md) - Test harnesses
|
|
55
|
+
```bash
|
|
56
|
+
bun add @outfitter/kit @outfitter/cli @outfitter/mcp
|
|
57
|
+
```
|
|
128
58
|
|
|
129
59
|
## License
|
|
130
60
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@outfitter/contracts";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@outfitter/types";
|
package/dist/index.d.ts
CHANGED
|
@@ -1,33 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
* @outfitter/
|
|
3
|
-
|
|
4
|
-
* This package coordinates versions across all @outfitter packages.
|
|
5
|
-
* Install it alongside specific packages to ensure compatible versions.
|
|
6
|
-
*
|
|
7
|
-
* @packageDocumentation
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Stack version - matches package.json version
|
|
11
|
-
*/
|
|
12
|
-
declare const STACK_VERSION = "0.1.0-rc.1";
|
|
13
|
-
/**
|
|
14
|
-
* Minimum compatible versions for each package
|
|
15
|
-
*/
|
|
16
|
-
declare const MINIMUM_VERSIONS: {
|
|
17
|
-
readonly "@outfitter/cli": "0.1.0-rc.1";
|
|
18
|
-
readonly "@outfitter/config": "0.1.0-rc.1";
|
|
19
|
-
readonly "@outfitter/contracts": "0.1.0-rc.1";
|
|
20
|
-
readonly "@outfitter/daemon": "0.1.0-rc.1";
|
|
21
|
-
readonly "@outfitter/file-ops": "0.1.0-rc.1";
|
|
22
|
-
readonly "@outfitter/index": "0.1.0-rc.1";
|
|
23
|
-
readonly "@outfitter/logging": "0.1.0-rc.1";
|
|
24
|
-
readonly "@outfitter/mcp": "0.1.0-rc.1";
|
|
25
|
-
readonly "@outfitter/state": "0.1.0-rc.1";
|
|
26
|
-
readonly "@outfitter/testing": "0.1.0-rc.1";
|
|
27
|
-
readonly "@outfitter/types": "0.1.0-rc.1";
|
|
28
|
-
};
|
|
29
|
-
/**
|
|
30
|
-
* Type for package names in the stack
|
|
31
|
-
*/
|
|
32
|
-
type OutfitterPackage = keyof typeof MINIMUM_VERSIONS;
|
|
33
|
-
export { STACK_VERSION, OutfitterPackage, MINIMUM_VERSIONS };
|
|
1
|
+
export * from "@outfitter/contracts";
|
|
2
|
+
import * as Types from "@outfitter/types";
|
|
3
|
+
export { Types };
|
package/dist/index.js
CHANGED
|
@@ -1,20 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
// packages/kit/src/index.ts
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
"@outfitter/cli": "0.1.0-rc.1",
|
|
6
|
-
"@outfitter/config": "0.1.0-rc.1",
|
|
7
|
-
"@outfitter/contracts": "0.1.0-rc.1",
|
|
8
|
-
"@outfitter/daemon": "0.1.0-rc.1",
|
|
9
|
-
"@outfitter/file-ops": "0.1.0-rc.1",
|
|
10
|
-
"@outfitter/index": "0.1.0-rc.1",
|
|
11
|
-
"@outfitter/logging": "0.1.0-rc.1",
|
|
12
|
-
"@outfitter/mcp": "0.1.0-rc.1",
|
|
13
|
-
"@outfitter/state": "0.1.0-rc.1",
|
|
14
|
-
"@outfitter/testing": "0.1.0-rc.1",
|
|
15
|
-
"@outfitter/types": "0.1.0-rc.1"
|
|
16
|
-
};
|
|
3
|
+
export * from "@outfitter/contracts";
|
|
4
|
+
import * as Types from "@outfitter/types";
|
|
17
5
|
export {
|
|
18
|
-
|
|
19
|
-
MINIMUM_VERSIONS
|
|
6
|
+
Types
|
|
20
7
|
};
|
package/package.json
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@outfitter/kit",
|
|
3
|
-
"description": "
|
|
4
|
-
"version": "0.2.
|
|
3
|
+
"description": "Foundation facade for Outfitter contracts and types",
|
|
4
|
+
"version": "0.2.2",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist",
|
|
8
|
-
"VERSIONS.md",
|
|
9
8
|
"shared/migrations"
|
|
10
9
|
],
|
|
11
10
|
"module": "./dist/index.js",
|
|
@@ -17,62 +16,33 @@
|
|
|
17
16
|
"default": "./dist/index.js"
|
|
18
17
|
}
|
|
19
18
|
},
|
|
20
|
-
"./
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"@outfitter/contracts": ">=0.1.0",
|
|
26
|
-
"@outfitter/daemon": ">=0.1.0",
|
|
27
|
-
"@outfitter/file-ops": ">=0.1.0",
|
|
28
|
-
"@outfitter/index": ">=0.1.0",
|
|
29
|
-
"@outfitter/logging": ">=0.1.0",
|
|
30
|
-
"@outfitter/mcp": ">=0.1.0",
|
|
31
|
-
"@outfitter/state": ">=0.1.0",
|
|
32
|
-
"@outfitter/testing": ">=0.1.0",
|
|
33
|
-
"@outfitter/types": ">=0.1.0",
|
|
34
|
-
"@outfitter/ui": ">=0.1.0-rc.1"
|
|
35
|
-
},
|
|
36
|
-
"peerDependenciesMeta": {
|
|
37
|
-
"@outfitter/cli": {
|
|
38
|
-
"optional": true
|
|
39
|
-
},
|
|
40
|
-
"@outfitter/config": {
|
|
41
|
-
"optional": true
|
|
42
|
-
},
|
|
43
|
-
"@outfitter/contracts": {
|
|
44
|
-
"optional": true
|
|
45
|
-
},
|
|
46
|
-
"@outfitter/daemon": {
|
|
47
|
-
"optional": true
|
|
48
|
-
},
|
|
49
|
-
"@outfitter/file-ops": {
|
|
50
|
-
"optional": true
|
|
51
|
-
},
|
|
52
|
-
"@outfitter/index": {
|
|
53
|
-
"optional": true
|
|
54
|
-
},
|
|
55
|
-
"@outfitter/logging": {
|
|
56
|
-
"optional": true
|
|
57
|
-
},
|
|
58
|
-
"@outfitter/mcp": {
|
|
59
|
-
"optional": true
|
|
60
|
-
},
|
|
61
|
-
"@outfitter/state": {
|
|
62
|
-
"optional": true
|
|
19
|
+
"./foundation/contracts": {
|
|
20
|
+
"import": {
|
|
21
|
+
"types": "./dist/foundation/contracts.d.ts",
|
|
22
|
+
"default": "./dist/foundation/contracts.js"
|
|
23
|
+
}
|
|
63
24
|
},
|
|
64
|
-
"
|
|
65
|
-
"
|
|
25
|
+
"./foundation/types": {
|
|
26
|
+
"import": {
|
|
27
|
+
"types": "./dist/foundation/types.d.ts",
|
|
28
|
+
"default": "./dist/foundation/types.js"
|
|
29
|
+
}
|
|
66
30
|
},
|
|
67
|
-
"
|
|
68
|
-
"
|
|
31
|
+
"./foundation": {
|
|
32
|
+
"import": {
|
|
33
|
+
"types": "./dist/foundation/index.d.ts",
|
|
34
|
+
"default": "./dist/foundation/index.js"
|
|
35
|
+
}
|
|
69
36
|
},
|
|
70
|
-
"
|
|
71
|
-
|
|
72
|
-
|
|
37
|
+
"./package.json": "./package.json"
|
|
38
|
+
},
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"@outfitter/contracts": "0.2.0",
|
|
41
|
+
"@outfitter/types": "0.2.0"
|
|
73
42
|
},
|
|
74
43
|
"scripts": {
|
|
75
|
-
"build": "bun run sync:migrations && bunup --filter @outfitter/kit",
|
|
44
|
+
"build": "bun run sync:migrations && cd ../.. && bunup --filter @outfitter/kit",
|
|
45
|
+
"test": "bun test",
|
|
76
46
|
"typecheck": "tsc --noEmit",
|
|
77
47
|
"sync:migrations": "bun run ../../scripts/sync-migrations.ts",
|
|
78
48
|
"prepack": "bun run sync:migrations"
|
package/VERSIONS.md
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# Version Compatibility Matrix
|
|
2
|
-
|
|
3
|
-
This document tracks version compatibility across @outfitter packages.
|
|
4
|
-
|
|
5
|
-
## Current Release
|
|
6
|
-
|
|
7
|
-
| Package | Version | Status |
|
|
8
|
-
|---------|---------|--------|
|
|
9
|
-
| @outfitter/contracts | 0.1.0-rc.0 | RC |
|
|
10
|
-
| @outfitter/types | 0.1.0-rc.0 | RC |
|
|
11
|
-
| @outfitter/cli | 0.1.0-rc.0 | RC |
|
|
12
|
-
| @outfitter/config | 0.1.0-rc.0 | RC |
|
|
13
|
-
| @outfitter/logging | 0.1.0-rc.0 | RC |
|
|
14
|
-
| @outfitter/file-ops | 0.1.0-rc.0 | RC |
|
|
15
|
-
| @outfitter/state | 0.1.0-rc.0 | RC |
|
|
16
|
-
| @outfitter/mcp | 0.1.0-rc.0 | RC |
|
|
17
|
-
| @outfitter/index | 0.1.0-rc.0 | RC |
|
|
18
|
-
| @outfitter/daemon | 0.1.0-rc.0 | RC |
|
|
19
|
-
| @outfitter/testing | 0.1.0-rc.0 | RC |
|
|
20
|
-
|
|
21
|
-
## Dependency Tiers
|
|
22
|
-
|
|
23
|
-
### Foundation (cold)
|
|
24
|
-
- `@outfitter/contracts` - Result/Error patterns
|
|
25
|
-
- `@outfitter/types` - Branded types
|
|
26
|
-
|
|
27
|
-
### Runtime (warm)
|
|
28
|
-
- `@outfitter/cli` - CLI framework (includes terminal rendering)
|
|
29
|
-
- `@outfitter/config` - Configuration
|
|
30
|
-
- `@outfitter/logging` - Structured logging
|
|
31
|
-
- `@outfitter/file-ops` - File operations
|
|
32
|
-
- `@outfitter/state` - State management
|
|
33
|
-
- `@outfitter/mcp` - MCP server framework
|
|
34
|
-
- `@outfitter/index` - SQLite FTS5 indexing
|
|
35
|
-
- `@outfitter/daemon` - Daemon lifecycle
|
|
36
|
-
|
|
37
|
-
### Tooling (lukewarm)
|
|
38
|
-
- `@outfitter/testing` - Test harnesses
|