capman 0.1.0
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/CONTRIBUTING.md +108 -0
- package/README.md +208 -0
- package/bin/capman.js +192 -0
- package/dist/generator.d.ts +8 -0
- package/dist/generator.d.ts.map +1 -0
- package/dist/generator.js +224 -0
- package/dist/generator.js.map +1 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +42 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +22 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +53 -0
- package/dist/logger.js.map +1 -0
- package/dist/matcher.d.ts +7 -0
- package/dist/matcher.d.ts.map +1 -0
- package/dist/matcher.js +194 -0
- package/dist/matcher.js.map +1 -0
- package/dist/resolver.d.ts +19 -0
- package/dist/resolver.d.ts.map +1 -0
- package/dist/resolver.js +164 -0
- package/dist/resolver.js.map +1 -0
- package/dist/schema.d.ts +741 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +94 -0
- package/dist/schema.js.map +1 -0
- package/dist/types.d.ts +77 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -0
- package/package.json +43 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAyEvB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS7B,CAAA;AAIF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKzB,CAAA;AAIF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB,CAAA;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,mBAAmB,CAQnE;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,mBAAmB,CAQvE"}
|
package/dist/schema.js
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ManifestSchema = exports.CapmanConfigSchema = void 0;
|
|
4
|
+
exports.validateConfig = validateConfig;
|
|
5
|
+
exports.validateManifest = validateManifest;
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
// ─── Param Schema ─────────────────────────────────────────────────────────────
|
|
8
|
+
const CapabilityParamSchema = zod_1.z.object({
|
|
9
|
+
name: zod_1.z.string().min(1, 'param name is required'),
|
|
10
|
+
description: zod_1.z.string().min(1, 'param description is required'),
|
|
11
|
+
required: zod_1.z.boolean(),
|
|
12
|
+
source: zod_1.z.enum(['user_query', 'session', 'context', 'static']),
|
|
13
|
+
default: zod_1.z.union([zod_1.z.string(), zod_1.z.number(), zod_1.z.boolean()]).optional(),
|
|
14
|
+
});
|
|
15
|
+
// ─── Resolver Schemas ─────────────────────────────────────────────────────────
|
|
16
|
+
const ApiResolverSchema = zod_1.z.object({
|
|
17
|
+
type: zod_1.z.literal('api'),
|
|
18
|
+
endpoints: zod_1.z.array(zod_1.z.object({
|
|
19
|
+
method: zod_1.z.enum(['GET', 'POST', 'PUT', 'PATCH', 'DELETE']),
|
|
20
|
+
path: zod_1.z.string().min(1, 'endpoint path is required'),
|
|
21
|
+
params: zod_1.z.array(zod_1.z.string()).optional(),
|
|
22
|
+
})).min(1, 'at least one endpoint is required'),
|
|
23
|
+
});
|
|
24
|
+
const NavResolverSchema = zod_1.z.object({
|
|
25
|
+
type: zod_1.z.literal('nav'),
|
|
26
|
+
destination: zod_1.z.string().min(1, 'nav destination is required'),
|
|
27
|
+
hint: zod_1.z.string().optional(),
|
|
28
|
+
});
|
|
29
|
+
const HybridResolverSchema = zod_1.z.object({
|
|
30
|
+
type: zod_1.z.literal('hybrid'),
|
|
31
|
+
api: zod_1.z.object({
|
|
32
|
+
endpoints: zod_1.z.array(zod_1.z.object({
|
|
33
|
+
method: zod_1.z.enum(['GET', 'POST', 'PUT', 'PATCH', 'DELETE']),
|
|
34
|
+
path: zod_1.z.string().min(1),
|
|
35
|
+
params: zod_1.z.array(zod_1.z.string()).optional(),
|
|
36
|
+
})).min(1),
|
|
37
|
+
}),
|
|
38
|
+
nav: zod_1.z.object({
|
|
39
|
+
destination: zod_1.z.string().min(1),
|
|
40
|
+
hint: zod_1.z.string().optional(),
|
|
41
|
+
}),
|
|
42
|
+
});
|
|
43
|
+
const ResolverSchema = zod_1.z.discriminatedUnion('type', [
|
|
44
|
+
ApiResolverSchema,
|
|
45
|
+
NavResolverSchema,
|
|
46
|
+
HybridResolverSchema,
|
|
47
|
+
]);
|
|
48
|
+
// ─── Privacy Schema ───────────────────────────────────────────────────────────
|
|
49
|
+
const PrivacyScopeSchema = zod_1.z.object({
|
|
50
|
+
level: zod_1.z.enum(['public', 'user_owned', 'admin']),
|
|
51
|
+
note: zod_1.z.string().optional(),
|
|
52
|
+
});
|
|
53
|
+
// ─── Capability Schema ────────────────────────────────────────────────────────
|
|
54
|
+
const CapabilitySchema = zod_1.z.object({
|
|
55
|
+
id: zod_1.z.string().min(1, 'capability id is required')
|
|
56
|
+
.regex(/^[a-z0-9_]+$/, 'id must be snake_case (lowercase, numbers, underscores only)'),
|
|
57
|
+
name: zod_1.z.string().min(1, 'capability name is required'),
|
|
58
|
+
description: zod_1.z.string().min(10, 'description must be at least 10 characters for accurate matching'),
|
|
59
|
+
examples: zod_1.z.array(zod_1.z.string()).optional(),
|
|
60
|
+
params: zod_1.z.array(CapabilityParamSchema),
|
|
61
|
+
returns: zod_1.z.array(zod_1.z.string()),
|
|
62
|
+
resolver: ResolverSchema,
|
|
63
|
+
privacy: PrivacyScopeSchema,
|
|
64
|
+
});
|
|
65
|
+
// ─── Config Schema ────────────────────────────────────────────────────────────
|
|
66
|
+
exports.CapmanConfigSchema = zod_1.z.object({
|
|
67
|
+
app: zod_1.z.string().min(1, 'app name is required'),
|
|
68
|
+
baseUrl: zod_1.z.string().url('baseUrl must be a valid URL').optional(),
|
|
69
|
+
capabilities: zod_1.z.array(CapabilitySchema)
|
|
70
|
+
.min(1, 'at least one capability is required')
|
|
71
|
+
.refine(caps => new Set(caps.map(c => c.id)).size === caps.length, 'capability ids must be unique'),
|
|
72
|
+
});
|
|
73
|
+
// ─── Manifest Schema ──────────────────────────────────────────────────────────
|
|
74
|
+
exports.ManifestSchema = zod_1.z.object({
|
|
75
|
+
version: zod_1.z.string(),
|
|
76
|
+
app: zod_1.z.string().min(1),
|
|
77
|
+
generatedAt: zod_1.z.string().datetime(),
|
|
78
|
+
capabilities: zod_1.z.array(CapabilitySchema).min(1),
|
|
79
|
+
});
|
|
80
|
+
function validateConfig(config) {
|
|
81
|
+
const result = exports.CapmanConfigSchema.safeParse(config);
|
|
82
|
+
if (result.success)
|
|
83
|
+
return { valid: true, errors: [] };
|
|
84
|
+
const errors = result.error.errors.map(e => `${e.path.join('.')} — ${e.message}`);
|
|
85
|
+
return { valid: false, errors };
|
|
86
|
+
}
|
|
87
|
+
function validateManifest(manifest) {
|
|
88
|
+
const result = exports.ManifestSchema.safeParse(manifest);
|
|
89
|
+
if (result.success)
|
|
90
|
+
return { valid: true, errors: [] };
|
|
91
|
+
const errors = result.error.errors.map(e => `${e.path.join('.')} — ${e.message}`);
|
|
92
|
+
return { valid: false, errors };
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
export type ResolverType = 'api' | 'nav' | 'hybrid';
|
|
2
|
+
export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
3
|
+
export interface CapabilityParam {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
required: boolean;
|
|
7
|
+
source: 'user_query' | 'session' | 'context' | 'static';
|
|
8
|
+
default?: string | number | boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface ApiResolver {
|
|
11
|
+
type: 'api';
|
|
12
|
+
endpoints: Array<{
|
|
13
|
+
method: HttpMethod;
|
|
14
|
+
path: string;
|
|
15
|
+
params?: string[];
|
|
16
|
+
}>;
|
|
17
|
+
}
|
|
18
|
+
export interface NavResolver {
|
|
19
|
+
type: 'nav';
|
|
20
|
+
destination: string;
|
|
21
|
+
hint?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface HybridResolver {
|
|
24
|
+
type: 'hybrid';
|
|
25
|
+
api: Omit<ApiResolver, 'type'>;
|
|
26
|
+
nav: Omit<NavResolver, 'type'>;
|
|
27
|
+
}
|
|
28
|
+
export type Resolver = ApiResolver | NavResolver | HybridResolver;
|
|
29
|
+
export interface PrivacyScope {
|
|
30
|
+
level: 'public' | 'user_owned' | 'admin';
|
|
31
|
+
note?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface Capability {
|
|
34
|
+
id: string;
|
|
35
|
+
name: string;
|
|
36
|
+
description: string;
|
|
37
|
+
examples?: string[];
|
|
38
|
+
params: CapabilityParam[];
|
|
39
|
+
returns: string[];
|
|
40
|
+
resolver: Resolver;
|
|
41
|
+
privacy: PrivacyScope;
|
|
42
|
+
}
|
|
43
|
+
export interface Manifest {
|
|
44
|
+
version: string;
|
|
45
|
+
app: string;
|
|
46
|
+
generatedAt: string;
|
|
47
|
+
capabilities: Capability[];
|
|
48
|
+
}
|
|
49
|
+
export interface CapmanConfig {
|
|
50
|
+
app: string;
|
|
51
|
+
baseUrl?: string;
|
|
52
|
+
capabilities: Capability[];
|
|
53
|
+
}
|
|
54
|
+
export interface MatchResult {
|
|
55
|
+
capability: Capability | null;
|
|
56
|
+
confidence: number;
|
|
57
|
+
intent: 'navigation' | 'retrieval' | 'hybrid' | 'out_of_scope';
|
|
58
|
+
extractedParams: Record<string, string | null>;
|
|
59
|
+
reasoning: string;
|
|
60
|
+
}
|
|
61
|
+
export interface ResolveResult {
|
|
62
|
+
success: boolean;
|
|
63
|
+
resolverType: ResolverType | null;
|
|
64
|
+
apiCalls?: Array<{
|
|
65
|
+
method: string;
|
|
66
|
+
url: string;
|
|
67
|
+
params: Record<string, unknown>;
|
|
68
|
+
}>;
|
|
69
|
+
navTarget?: string;
|
|
70
|
+
error?: string;
|
|
71
|
+
}
|
|
72
|
+
export interface ValidationResult {
|
|
73
|
+
valid: boolean;
|
|
74
|
+
errors: string[];
|
|
75
|
+
warnings: string[];
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,iFAAiF"}
|
package/package.json
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "capman",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Capability Manifest Engine — let AI agents interact with your app without navigating the UI",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"bin": {
|
|
8
|
+
"capman": "./bin/capman.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist",
|
|
12
|
+
"bin",
|
|
13
|
+
"README.md",
|
|
14
|
+
"CONTRIBUTING.md"
|
|
15
|
+
],
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "tsc",
|
|
18
|
+
"dev": "tsc --watch",
|
|
19
|
+
"example": "tsx examples/basic.ts",
|
|
20
|
+
"validate": "node bin/capman.js validate",
|
|
21
|
+
"inspect": "node bin/capman.js inspect",
|
|
22
|
+
"test": "vitest run"
|
|
23
|
+
},
|
|
24
|
+
"keywords": [
|
|
25
|
+
"ai",
|
|
26
|
+
"agent",
|
|
27
|
+
"manifest",
|
|
28
|
+
"capability",
|
|
29
|
+
"navigation",
|
|
30
|
+
"llm"
|
|
31
|
+
],
|
|
32
|
+
"license": "MIT",
|
|
33
|
+
"devDependencies": {
|
|
34
|
+
"@types/node": "^20.0.0",
|
|
35
|
+
"tsx": "^4.0.0",
|
|
36
|
+
"typescript": "^5.0.0",
|
|
37
|
+
"vitest": "^4.1.0"
|
|
38
|
+
},
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"dotenv": "^17.3.1",
|
|
41
|
+
"zod": "^3.23.0"
|
|
42
|
+
}
|
|
43
|
+
}
|