@claudetools/tools 0.8.11 → 0.9.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/dist/codedna/generators/astro.d.ts +18 -0
- package/dist/codedna/generators/astro.js +91 -0
- package/dist/codedna/generators/authjs.d.ts +18 -0
- package/dist/codedna/generators/authjs.js +68 -0
- package/dist/codedna/generators/better-auth.d.ts +18 -0
- package/dist/codedna/generators/better-auth.js +62 -0
- package/dist/codedna/generators/drizzle-orm.d.ts +18 -0
- package/dist/codedna/generators/drizzle-orm.js +65 -0
- package/dist/codedna/generators/elysia-api.d.ts +12 -0
- package/dist/codedna/generators/elysia-api.js +64 -0
- package/dist/codedna/generators/hono-api.d.ts +12 -0
- package/dist/codedna/generators/hono-api.js +64 -0
- package/dist/codedna/generators/lucia-auth.d.ts +18 -0
- package/dist/codedna/generators/lucia-auth.js +69 -0
- package/dist/codedna/generators/prisma.d.ts +18 -0
- package/dist/codedna/generators/prisma.js +64 -0
- package/dist/codedna/generators/react-router-v7.d.ts +18 -0
- package/dist/codedna/generators/react-router-v7.js +77 -0
- package/dist/codedna/generators/react19-shadcn.d.ts +21 -0
- package/dist/codedna/generators/react19-shadcn.js +367 -0
- package/dist/codedna/generators/sveltekit.d.ts +18 -0
- package/dist/codedna/generators/sveltekit.js +73 -0
- package/dist/codedna/generators/tanstack-start-drizzle.d.ts +92 -0
- package/dist/codedna/generators/tanstack-start-drizzle.js +824 -0
- package/dist/codedna/generators/trpc-api.d.ts +12 -0
- package/dist/codedna/generators/trpc-api.js +64 -0
- package/dist/codedna/index.d.ts +31 -0
- package/dist/codedna/index.js +39 -0
- package/dist/codedna/kappa-api-generator.d.ts +89 -0
- package/dist/codedna/kappa-api-generator.js +493 -0
- package/dist/codedna/kappa-ast.d.ts +552 -0
- package/dist/codedna/kappa-ast.js +141 -0
- package/dist/codedna/kappa-cli.d.ts +2 -0
- package/dist/codedna/kappa-cli.js +302 -0
- package/dist/codedna/kappa-component-generator.d.ts +47 -0
- package/dist/codedna/kappa-component-generator.js +295 -0
- package/dist/codedna/kappa-design-generator.d.ts +52 -0
- package/dist/codedna/kappa-design-generator.js +365 -0
- package/dist/codedna/kappa-drizzle-generator.d.ts +45 -0
- package/dist/codedna/kappa-drizzle-generator.js +355 -0
- package/dist/codedna/kappa-form-generator.d.ts +51 -0
- package/dist/codedna/kappa-form-generator.js +319 -0
- package/dist/codedna/kappa-lexer.d.ts +268 -0
- package/dist/codedna/kappa-lexer.js +757 -0
- package/dist/codedna/kappa-page-generator.d.ts +57 -0
- package/dist/codedna/kappa-page-generator.js +338 -0
- package/dist/codedna/kappa-parser.d.ts +261 -0
- package/dist/codedna/kappa-parser.js +2547 -0
- package/dist/codedna/kappa-provenance.d.ts +101 -0
- package/dist/codedna/kappa-provenance.js +199 -0
- package/dist/codedna/kappa-types-generator.d.ts +37 -0
- package/dist/codedna/kappa-types-generator.js +159 -0
- package/dist/codedna/kappa-validator.d.ts +86 -0
- package/dist/codedna/kappa-validator.js +638 -0
- package/dist/codedna/kappa-zod-generator.d.ts +32 -0
- package/dist/codedna/kappa-zod-generator.js +216 -0
- package/dist/handlers/kappa-handlers.d.ts +116 -0
- package/dist/handlers/kappa-handlers.js +465 -0
- package/dist/handlers/tool-handlers.js +121 -0
- package/dist/templates/claude-md.d.ts +1 -1
- package/dist/templates/claude-md.js +166 -9
- package/dist/tools.js +199 -0
- package/docs/research/2026-01-02-codedna-il-specification.md +639 -0
- package/docs/research/2026-01-02-codedna-v2-research.md +943 -0
- package/docs/research/2026-01-02-computation-foundations.md +564 -0
- package/docs/research/2026-01-02-hardware-description.md +814 -0
- package/docs/research/2026-01-02-kappa-specification.md +697 -0
- package/docs/research/2026-01-02-kappa-tanstack-example.md +527 -0
- package/docs/research/2026-01-02-kappa-v2-synthesis.md +406 -0
- package/docs/research/2026-01-02-kappa-v2.5-specification.md +1218 -0
- package/docs/research/2026-01-02-kappa-v3-specification.md +1864 -0
- package/docs/research/2026-01-02-kappa-whitepaper.md +662 -0
- package/docs/research/2026-01-02-logic-constraint.md +731 -0
- package/docs/research/2026-01-02-quantum-computation.md +635 -0
- package/package.json +4 -2
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseGenerator } from './base.js';
|
|
2
|
+
import { EntitySpec } from '../parser.js';
|
|
3
|
+
import { GenerateApiOptions } from '../types.js';
|
|
4
|
+
export declare class TrpcApiGenerator extends BaseGenerator {
|
|
5
|
+
protected getGeneratorId(): string;
|
|
6
|
+
protected getRequiredTemplates(options: GenerateApiOptions): string[];
|
|
7
|
+
protected getFileMapping(entity: EntitySpec, options: GenerateApiOptions): Record<string, string>;
|
|
8
|
+
/**
|
|
9
|
+
* Generate tRPC API from entity specification
|
|
10
|
+
*/
|
|
11
|
+
generate(entity: EntitySpec, options?: GenerateApiOptions): Promise<import('../types.js').GenerationResult>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// tRPC API Generator
|
|
3
|
+
// =============================================================================
|
|
4
|
+
//
|
|
5
|
+
// Generate type-safe tRPC procedures with routers, input validation,
|
|
6
|
+
// context, and middleware. Full end-to-end type safety.
|
|
7
|
+
//
|
|
8
|
+
import { BaseGenerator } from './base.js';
|
|
9
|
+
export class TrpcApiGenerator extends BaseGenerator {
|
|
10
|
+
getGeneratorId() {
|
|
11
|
+
return 'trpc-api';
|
|
12
|
+
}
|
|
13
|
+
getRequiredTemplates(options) {
|
|
14
|
+
const templates = [
|
|
15
|
+
'schema.ts.j2',
|
|
16
|
+
'router.ts.j2',
|
|
17
|
+
'procedures.ts.j2',
|
|
18
|
+
'context.ts.j2',
|
|
19
|
+
'trpc.ts.j2',
|
|
20
|
+
];
|
|
21
|
+
if (this.isEnabled(options, 'auth')) {
|
|
22
|
+
templates.push('middleware.ts.j2');
|
|
23
|
+
}
|
|
24
|
+
if (this.isEnabled(options, 'tests')) {
|
|
25
|
+
templates.push('test.ts.j2');
|
|
26
|
+
}
|
|
27
|
+
return templates;
|
|
28
|
+
}
|
|
29
|
+
getFileMapping(entity, options) {
|
|
30
|
+
const entityLower = entity.name.toLowerCase();
|
|
31
|
+
const mapping = {
|
|
32
|
+
[`src/schemas/${entityLower}.schema.ts`]: 'schema.ts.j2',
|
|
33
|
+
[`src/routers/${entityLower}.router.ts`]: 'router.ts.j2',
|
|
34
|
+
[`src/procedures/${entityLower}.procedures.ts`]: 'procedures.ts.j2',
|
|
35
|
+
['src/server/context.ts']: 'context.ts.j2',
|
|
36
|
+
['src/server/trpc.ts']: 'trpc.ts.j2',
|
|
37
|
+
};
|
|
38
|
+
if (this.isEnabled(options, 'auth')) {
|
|
39
|
+
mapping['src/middleware/auth.ts'] = 'middleware.ts.j2';
|
|
40
|
+
}
|
|
41
|
+
if (this.isEnabled(options, 'tests')) {
|
|
42
|
+
mapping[`src/__tests__/${entityLower}.test.ts`] = 'test.ts.j2';
|
|
43
|
+
}
|
|
44
|
+
return mapping;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Generate tRPC API from entity specification
|
|
48
|
+
*/
|
|
49
|
+
async generate(entity, options = {}) {
|
|
50
|
+
// Validate options
|
|
51
|
+
await this.validateOptions(options);
|
|
52
|
+
// Set defaults - tRPC specific
|
|
53
|
+
const opts = {
|
|
54
|
+
auth: false,
|
|
55
|
+
validation: true, // Always true for tRPC (Zod is integral)
|
|
56
|
+
tests: false,
|
|
57
|
+
database: 'postgresql',
|
|
58
|
+
superjson: true, // Use SuperJSON for serialisation
|
|
59
|
+
...options,
|
|
60
|
+
};
|
|
61
|
+
// Generate files
|
|
62
|
+
return super.generate(entity, opts);
|
|
63
|
+
}
|
|
64
|
+
}
|
package/dist/codedna/index.d.ts
CHANGED
|
@@ -2,3 +2,34 @@ export * from './parser.js';
|
|
|
2
2
|
export * from './types.js';
|
|
3
3
|
export * from './template-engine.js';
|
|
4
4
|
export * from './registry.js';
|
|
5
|
+
export { type KappaSpec, type EntityBlock, type EntityField, type FieldType as KappaFieldType, type APIBlock, type APIOperation, type JourneyBlock, type PageBlock, type DesignBlock, } from './kappa-ast.js';
|
|
6
|
+
export { tokenize } from './kappa-lexer.js';
|
|
7
|
+
export { parse as parseKappa, parseToAST as parseKappaToAST, type ParseResult as KappaParseResult, } from './kappa-parser.js';
|
|
8
|
+
export { validateKappaSpec, formatValidationResults } from './kappa-validator.js';
|
|
9
|
+
export { wrapWithProvenance, ProvenanceGenerator } from './kappa-provenance.js';
|
|
10
|
+
export { generateDrizzleSchema } from './kappa-drizzle-generator.js';
|
|
11
|
+
export { generateZodSchemas } from './kappa-zod-generator.js';
|
|
12
|
+
export { generateTypeScriptTypes } from './kappa-types-generator.js';
|
|
13
|
+
export { generateAPI, KappaAPIGenerator } from './kappa-api-generator.js';
|
|
14
|
+
export { generatePages, KappaPageGenerator } from './kappa-page-generator.js';
|
|
15
|
+
export { generateForms, KappaFormGenerator } from './kappa-form-generator.js';
|
|
16
|
+
export { generateComponents, KappaComponentGenerator } from './kappa-component-generator.js';
|
|
17
|
+
export { generateDesign, KappaDesignGenerator } from './kappa-design-generator.js';
|
|
18
|
+
export { BaseGenerator } from './generators/base.js';
|
|
19
|
+
export { ExpressApiGenerator } from './generators/express-api.js';
|
|
20
|
+
export { FastAPIGenerator } from './generators/fastapi-api.js';
|
|
21
|
+
export { NestJSGenerator } from './generators/nestjs-api.js';
|
|
22
|
+
export { HonoApiGenerator } from './generators/hono-api.js';
|
|
23
|
+
export { ElysiaApiGenerator } from './generators/elysia-api.js';
|
|
24
|
+
export { TrpcApiGenerator } from './generators/trpc-api.js';
|
|
25
|
+
export { BetterAuthGenerator } from './generators/better-auth.js';
|
|
26
|
+
export { AuthJsGenerator } from './generators/authjs.js';
|
|
27
|
+
export { LuciaAuthGenerator } from './generators/lucia-auth.js';
|
|
28
|
+
export { ReactFrontendGenerator } from './generators/react-frontend.js';
|
|
29
|
+
export { VueFrontendGenerator } from './generators/vue-frontend.js';
|
|
30
|
+
export { SvelteKitGenerator } from './generators/sveltekit.js';
|
|
31
|
+
export { AstroGenerator } from './generators/astro.js';
|
|
32
|
+
export { ReactRouterV7Generator } from './generators/react-router-v7.js';
|
|
33
|
+
export { DrizzleOrmGenerator } from './generators/drizzle-orm.js';
|
|
34
|
+
export { PrismaGenerator } from './generators/prisma.js';
|
|
35
|
+
export { UIComponentGenerator } from './generators/ui-component.js';
|
package/dist/codedna/index.js
CHANGED
|
@@ -1,7 +1,46 @@
|
|
|
1
1
|
// =============================================================================
|
|
2
2
|
// CodeDNA Module Exports
|
|
3
3
|
// =============================================================================
|
|
4
|
+
// Core
|
|
4
5
|
export * from './parser.js';
|
|
5
6
|
export * from './types.js';
|
|
6
7
|
export * from './template-engine.js';
|
|
7
8
|
export * from './registry.js';
|
|
9
|
+
export { tokenize } from './kappa-lexer.js';
|
|
10
|
+
export { parse as parseKappa, parseToAST as parseKappaToAST, } from './kappa-parser.js';
|
|
11
|
+
export { validateKappaSpec, formatValidationResults } from './kappa-validator.js';
|
|
12
|
+
export { wrapWithProvenance, ProvenanceGenerator } from './kappa-provenance.js';
|
|
13
|
+
// Kappa v2.5 Generators
|
|
14
|
+
export { generateDrizzleSchema } from './kappa-drizzle-generator.js';
|
|
15
|
+
export { generateZodSchemas } from './kappa-zod-generator.js';
|
|
16
|
+
export { generateTypeScriptTypes } from './kappa-types-generator.js';
|
|
17
|
+
export { generateAPI, KappaAPIGenerator } from './kappa-api-generator.js';
|
|
18
|
+
export { generatePages, KappaPageGenerator } from './kappa-page-generator.js';
|
|
19
|
+
export { generateForms, KappaFormGenerator } from './kappa-form-generator.js';
|
|
20
|
+
export { generateComponents, KappaComponentGenerator } from './kappa-component-generator.js';
|
|
21
|
+
export { generateDesign, KappaDesignGenerator } from './kappa-design-generator.js';
|
|
22
|
+
// Generators - Base
|
|
23
|
+
export { BaseGenerator } from './generators/base.js';
|
|
24
|
+
// Generators - API
|
|
25
|
+
export { ExpressApiGenerator } from './generators/express-api.js';
|
|
26
|
+
export { FastAPIGenerator } from './generators/fastapi-api.js';
|
|
27
|
+
export { NestJSGenerator } from './generators/nestjs-api.js';
|
|
28
|
+
export { HonoApiGenerator } from './generators/hono-api.js';
|
|
29
|
+
export { ElysiaApiGenerator } from './generators/elysia-api.js';
|
|
30
|
+
export { TrpcApiGenerator } from './generators/trpc-api.js';
|
|
31
|
+
// Generators - Auth
|
|
32
|
+
export { BetterAuthGenerator } from './generators/better-auth.js';
|
|
33
|
+
export { AuthJsGenerator } from './generators/authjs.js';
|
|
34
|
+
export { LuciaAuthGenerator } from './generators/lucia-auth.js';
|
|
35
|
+
// Generators - Frontend
|
|
36
|
+
export { ReactFrontendGenerator } from './generators/react-frontend.js';
|
|
37
|
+
export { VueFrontendGenerator } from './generators/vue-frontend.js';
|
|
38
|
+
export { SvelteKitGenerator } from './generators/sveltekit.js';
|
|
39
|
+
export { AstroGenerator } from './generators/astro.js';
|
|
40
|
+
export { ReactRouterV7Generator } from './generators/react-router-v7.js';
|
|
41
|
+
// React19ShadcnGenerator and TanstackStartDrizzleGenerator are WIP - excluded for now
|
|
42
|
+
// Generators - Database/ORM
|
|
43
|
+
export { DrizzleOrmGenerator } from './generators/drizzle-orm.js';
|
|
44
|
+
export { PrismaGenerator } from './generators/prisma.js';
|
|
45
|
+
// Generators - UI Components
|
|
46
|
+
export { UIComponentGenerator } from './generators/ui-component.js';
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { APIBlock, APIParameter, EffectType } from './kappa-ast.js';
|
|
2
|
+
export type APIFramework = 'express' | 'hono' | 'trpc';
|
|
3
|
+
export interface APIGeneratorOptions {
|
|
4
|
+
/** Target framework (default: 'hono') */
|
|
5
|
+
framework?: APIFramework;
|
|
6
|
+
/** Add provenance comments (default: true) */
|
|
7
|
+
provenance?: boolean;
|
|
8
|
+
/** Generate validation middleware (default: true) */
|
|
9
|
+
validation?: boolean;
|
|
10
|
+
/** Generate error types (default: true) */
|
|
11
|
+
errorTypes?: boolean;
|
|
12
|
+
/** Base path for routes (default: '/api') */
|
|
13
|
+
basePath?: string;
|
|
14
|
+
/** Auth middleware name (default: 'requireAuth') */
|
|
15
|
+
authMiddleware?: string;
|
|
16
|
+
/** Generate OpenAPI schema (default: false) */
|
|
17
|
+
openapi?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface GeneratedAPI {
|
|
20
|
+
/** Main routes file */
|
|
21
|
+
routes: string;
|
|
22
|
+
/** Validation schemas (Zod) */
|
|
23
|
+
validation?: string;
|
|
24
|
+
/** Error types */
|
|
25
|
+
errors?: string;
|
|
26
|
+
/** OpenAPI schema (if enabled) */
|
|
27
|
+
openapi?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface GeneratedRoute {
|
|
30
|
+
/** HTTP method */
|
|
31
|
+
method: 'get' | 'post' | 'put' | 'patch' | 'delete';
|
|
32
|
+
/** Route path (e.g., '/users/:id') */
|
|
33
|
+
path: string;
|
|
34
|
+
/** Handler name */
|
|
35
|
+
handlerName: string;
|
|
36
|
+
/** Operation name */
|
|
37
|
+
operationName: string;
|
|
38
|
+
/** Effects used by this route */
|
|
39
|
+
effects: EffectType[];
|
|
40
|
+
/** Whether auth is required */
|
|
41
|
+
requiresAuth: boolean;
|
|
42
|
+
/** Input parameters */
|
|
43
|
+
parameters: APIParameter[];
|
|
44
|
+
/** Permission check */
|
|
45
|
+
check?: string;
|
|
46
|
+
/** Rate limit */
|
|
47
|
+
rateLimit?: string;
|
|
48
|
+
}
|
|
49
|
+
export declare class KappaAPIGenerator {
|
|
50
|
+
private framework;
|
|
51
|
+
private provenance;
|
|
52
|
+
private validation;
|
|
53
|
+
private errorTypes;
|
|
54
|
+
private basePath;
|
|
55
|
+
private authMiddleware;
|
|
56
|
+
private openapi;
|
|
57
|
+
constructor(options?: APIGeneratorOptions);
|
|
58
|
+
/**
|
|
59
|
+
* Generate API code from API blocks
|
|
60
|
+
*/
|
|
61
|
+
generate(apis: APIBlock[]): GeneratedAPI;
|
|
62
|
+
/**
|
|
63
|
+
* Extract all routes from API blocks
|
|
64
|
+
*/
|
|
65
|
+
extractRoutes(apis: APIBlock[]): GeneratedRoute[];
|
|
66
|
+
private operationToRoute;
|
|
67
|
+
private crudToRoutes;
|
|
68
|
+
private inferMethod;
|
|
69
|
+
private generateRoutes;
|
|
70
|
+
private generateHonoRoutes;
|
|
71
|
+
private generateHonoRoute;
|
|
72
|
+
private generateExpressRoutes;
|
|
73
|
+
private generateExpressRoute;
|
|
74
|
+
private generateTRPCRoutes;
|
|
75
|
+
private generateTRPCProcedure;
|
|
76
|
+
private generateValidation;
|
|
77
|
+
private generateValidationSchema;
|
|
78
|
+
private fieldTypeToZod;
|
|
79
|
+
private generateErrors;
|
|
80
|
+
private inferErrorStatus;
|
|
81
|
+
private generateOpenAPI;
|
|
82
|
+
private toKebabCase;
|
|
83
|
+
private toPascalCase;
|
|
84
|
+
private toSentenceCase;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Generate API code from Kappa API blocks
|
|
88
|
+
*/
|
|
89
|
+
export declare function generateAPI(apis: APIBlock[], options?: APIGeneratorOptions): GeneratedAPI;
|