@vielzeug/codex 26.11.1 → 26.11.3
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/data/catalog.json +45 -44
- package/data/llms-full.txt +103 -111
- package/data/llms.txt +1 -1
- package/data/manifest.json +1 -1
- package/data/packages/codex.json +8 -9
- package/data/packages/necromancer.json +5 -5
- package/data/refine.json +113 -109
- package/data/search.json +10 -10
- package/dist/catalog.d.ts +14 -14
- package/dist/catalog.js +27 -14
- package/dist/catalog.js.map +1 -1
- package/dist/cli.js +3 -8
- package/dist/cli.js.map +1 -1
- package/dist/http.d.ts +3 -6
- package/dist/http.js +2 -12
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/refine-catalog.d.ts +3 -2
- package/dist/refine-catalog.js +7 -4
- package/dist/refine-catalog.js.map +1 -1
- package/dist/refine.d.ts +5 -10
- package/dist/refine.js +7 -10
- package/dist/refine.js.map +1 -1
- package/dist/server.d.ts +6 -7
- package/dist/server.js +6 -7
- package/dist/server.js.map +1 -1
- package/dist/snapshot.d.ts +5 -5
- package/dist/tools/refine.d.ts +0 -2
- package/dist/tools/refine.js +0 -4
- package/dist/tools/refine.js.map +1 -1
- package/dist/types.d.ts +78 -78
- package/package.json +2 -2
- package/skills/vielzeug/SKILL.md +15 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refine-catalog.js","sourceRoot":"","sources":["../src/refine-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAS3E,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IACvC,UAAU,
|
|
1
|
+
{"version":3,"file":"refine-catalog.js","sourceRoot":"","sources":["../src/refine-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAS3E,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IACvC,UAAU,CAA4B;IACtC,eAAe,CAA8B;IAE9D,YAAY,QAAwB;QAClC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC;QAC5C,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,CAC5B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAC7G,CAAC;IACJ,CAAC;IAEO,yBAAyB;QAC/B,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,YAAY,CAAC,aAAa,EAAE,4DAA4D,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,YAAY,CAAC,OAAe;QAC1B,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEpD,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,cAAc,OAAO,cAAc,CAAC,CAAC;QACzF,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;CACF"}
|
package/dist/refine.d.ts
CHANGED
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* documentation server stays reusable without Refine. Call `registerRefineTools()` on
|
|
7
|
-
* a server created by `createMcpServer()` to upgrade it to the full Refine-augmented
|
|
8
|
-
* tool surface.
|
|
9
|
-
*/
|
|
1
|
+
import type { Server } from '@modelcontextprotocol/server';
|
|
2
|
+
import type { RefineCatalog } from './refine-catalog.js';
|
|
3
|
+
import { type McpServerOptions } from './server.js';
|
|
4
|
+
/** Creates an MCP server with both package and Refine component tools. */
|
|
5
|
+
export declare function createMcpServerWithRefine(catalog: RefineCatalog, options: McpServerOptions): Server;
|
|
10
6
|
export { type RefineCatalog, SnapshotRefineCatalog } from './refine-catalog.js';
|
|
11
|
-
export { refineTools, registerRefineTools } from './tools/refine.js';
|
|
12
7
|
export type { CemAttribute, CemCssPart, CemCssProperty, CemDeclaration, CemEvent, CemMember, CemSlot, } from './types.js';
|
package/dist/refine.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
* tool surface.
|
|
9
|
-
*/
|
|
1
|
+
import { createMcpServerWithTools } from './server.js';
|
|
2
|
+
import { packageTools } from './tools/index.js';
|
|
3
|
+
import { refineTools } from './tools/refine.js';
|
|
4
|
+
/** Creates an MCP server with both package and Refine component tools. */
|
|
5
|
+
export function createMcpServerWithRefine(catalog, options) {
|
|
6
|
+
return createMcpServerWithTools(catalog, options, [...packageTools, ...refineTools]);
|
|
7
|
+
}
|
|
10
8
|
export { SnapshotRefineCatalog } from './refine-catalog.js';
|
|
11
|
-
export { refineTools, registerRefineTools } from './tools/refine.js';
|
|
12
9
|
//# sourceMappingURL=refine.js.map
|
package/dist/refine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refine.js","sourceRoot":"","sources":["../src/refine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"refine.js","sourceRoot":"","sources":["../src/refine.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAyB,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,0EAA0E;AAC1E,MAAM,UAAU,yBAAyB,CAAC,OAAsB,EAAE,OAAyB;IACzF,OAAO,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,YAAY,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,OAAO,EAAsB,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/server.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { Server } from '@modelcontextprotocol/server';
|
|
2
2
|
import type { Catalog } from './catalog.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
* tools are opt-in via `@vielzeug/codex/refine`'s `registerRefineTools()`: the main
|
|
6
|
-
* library entry stays product-agnostic.
|
|
7
|
-
*/
|
|
8
|
-
export declare function createMcpServer(catalog: Catalog, options: {
|
|
3
|
+
import type { ToolDefinition } from './tools/shared.js';
|
|
4
|
+
export interface McpServerOptions {
|
|
9
5
|
debug?: boolean;
|
|
10
6
|
version: string;
|
|
11
|
-
}
|
|
7
|
+
}
|
|
8
|
+
export declare function createMcpServerWithTools<CatalogType extends Catalog>(catalog: CatalogType, options: McpServerOptions, tools: readonly ToolDefinition<CatalogType>[]): Server;
|
|
9
|
+
/** Creates an MCP server with the generic package tools registered. */
|
|
10
|
+
export declare function createMcpServer(catalog: Catalog, options: McpServerOptions): Server;
|
package/dist/server.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { Server } from '@modelcontextprotocol/server';
|
|
2
2
|
import { packageTools, registerTools } from './tools/index.js';
|
|
3
|
-
|
|
4
|
-
* Creates an MCP server with the generic package tools registered. Refine-specific
|
|
5
|
-
* tools are opt-in via `@vielzeug/codex/refine`'s `registerRefineTools()`: the main
|
|
6
|
-
* library entry stays product-agnostic.
|
|
7
|
-
*/
|
|
8
|
-
export function createMcpServer(catalog, options) {
|
|
3
|
+
export function createMcpServerWithTools(catalog, options, tools) {
|
|
9
4
|
const server = new Server({ name: 'vielzeug', version: options.version }, { capabilities: { tools: {} } });
|
|
10
|
-
registerTools(server, catalog,
|
|
5
|
+
registerTools(server, catalog, tools, options.debug);
|
|
11
6
|
return server;
|
|
12
7
|
}
|
|
8
|
+
/** Creates an MCP server with the generic package tools registered. */
|
|
9
|
+
export function createMcpServer(catalog, options) {
|
|
10
|
+
return createMcpServerWithTools(catalog, options, packageTools);
|
|
11
|
+
}
|
|
13
12
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAItD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAItD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAQ/D,MAAM,UAAU,wBAAwB,CACtC,OAAoB,EACpB,OAAyB,EACzB,KAA6C;IAE7C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAE3G,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAErD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE,OAAyB;IACzE,OAAO,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AAClE,CAAC"}
|
package/dist/snapshot.d.ts
CHANGED
|
@@ -6,11 +6,11 @@ export declare function parseContent(value: unknown, slug: string): PackageConte
|
|
|
6
6
|
export declare function parseSearch(value: unknown, catalog: CatalogFile): SearchRecord[];
|
|
7
7
|
export declare function parseRefine(value: unknown): CemDeclaration[];
|
|
8
8
|
export interface LoadedSnapshot {
|
|
9
|
-
catalog: CatalogFile;
|
|
10
|
-
contentDirectory: string;
|
|
11
|
-
manifest: SnapshotManifest;
|
|
12
|
-
refineComponents: CemDeclaration[];
|
|
13
|
-
search: SearchRecord[];
|
|
9
|
+
readonly catalog: CatalogFile;
|
|
10
|
+
readonly contentDirectory: string;
|
|
11
|
+
readonly manifest: SnapshotManifest;
|
|
12
|
+
readonly refineComponents: readonly CemDeclaration[];
|
|
13
|
+
readonly search: readonly SearchRecord[];
|
|
14
14
|
}
|
|
15
15
|
export declare function loadSnapshotDirectory(directory: string, options?: {
|
|
16
16
|
validateContents?: boolean;
|
package/dist/tools/refine.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import type { Server } from '@modelcontextprotocol/server';
|
|
2
1
|
import type { RefineCatalog } from '../refine-catalog.js';
|
|
3
2
|
import type { ToolDefinition } from './shared.js';
|
|
4
3
|
export declare const refineTools: readonly ToolDefinition<RefineCatalog>[];
|
|
5
|
-
export declare function registerRefineTools(server: Server, catalog: RefineCatalog, debug?: boolean): void;
|
package/dist/tools/refine.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { packageTools, registerTools } from './index.js';
|
|
2
1
|
import { EMPTY_SCHEMA, parseArgs } from './schema.js';
|
|
3
2
|
const tag = {
|
|
4
3
|
additionalProperties: false,
|
|
@@ -132,7 +131,4 @@ export const refineTools = [
|
|
|
132
131
|
name: 'refine-validate-usage',
|
|
133
132
|
},
|
|
134
133
|
];
|
|
135
|
-
export function registerRefineTools(server, catalog, debug = false) {
|
|
136
|
-
registerTools(server, catalog, [...packageTools, ...refineTools], debug);
|
|
137
|
-
}
|
|
138
134
|
//# sourceMappingURL=refine.js.map
|
package/dist/tools/refine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refine.js","sourceRoot":"","sources":["../../src/tools/refine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"refine.js","sourceRoot":"","sources":["../../src/tools/refine.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -2,113 +2,113 @@ export declare const DOC_PAGES: readonly ["index", "api", "usage", "examples"];
|
|
|
2
2
|
export type DocPage = (typeof DOC_PAGES)[number];
|
|
3
3
|
export declare const SNAPSHOT_SCHEMA_VERSION: 1;
|
|
4
4
|
export interface CemTypeRef {
|
|
5
|
-
text: string;
|
|
5
|
+
readonly text: string;
|
|
6
6
|
}
|
|
7
7
|
export interface CemAttribute {
|
|
8
|
-
default?: string;
|
|
9
|
-
description?: string;
|
|
10
|
-
fieldName?: string;
|
|
11
|
-
name: string;
|
|
12
|
-
type?: CemTypeRef;
|
|
8
|
+
readonly default?: string;
|
|
9
|
+
readonly description?: string;
|
|
10
|
+
readonly fieldName?: string;
|
|
11
|
+
readonly name: string;
|
|
12
|
+
readonly type?: CemTypeRef;
|
|
13
13
|
}
|
|
14
14
|
export interface CemCssPart {
|
|
15
|
-
description?: string;
|
|
16
|
-
name: string;
|
|
15
|
+
readonly description?: string;
|
|
16
|
+
readonly name: string;
|
|
17
17
|
}
|
|
18
18
|
export interface CemCssProperty {
|
|
19
|
-
default?: string;
|
|
20
|
-
description?: string;
|
|
21
|
-
name: string;
|
|
19
|
+
readonly default?: string;
|
|
20
|
+
readonly description?: string;
|
|
21
|
+
readonly name: string;
|
|
22
22
|
}
|
|
23
23
|
export interface CemEvent {
|
|
24
|
-
description?: string;
|
|
25
|
-
name: string;
|
|
26
|
-
type?: CemTypeRef;
|
|
24
|
+
readonly description?: string;
|
|
25
|
+
readonly name: string;
|
|
26
|
+
readonly type?: CemTypeRef;
|
|
27
27
|
}
|
|
28
28
|
export interface CemMember {
|
|
29
|
-
description?: string;
|
|
30
|
-
kind?: 'field' | 'method';
|
|
31
|
-
name: string;
|
|
32
|
-
type?: CemTypeRef;
|
|
29
|
+
readonly description?: string;
|
|
30
|
+
readonly kind?: 'field' | 'method';
|
|
31
|
+
readonly name: string;
|
|
32
|
+
readonly type?: CemTypeRef;
|
|
33
33
|
}
|
|
34
34
|
export interface CemSlot {
|
|
35
|
-
description?: string;
|
|
36
|
-
name: string;
|
|
35
|
+
readonly description?: string;
|
|
36
|
+
readonly name: string;
|
|
37
37
|
}
|
|
38
38
|
export interface CemDeclaration {
|
|
39
|
-
attributes?: CemAttribute[];
|
|
40
|
-
cssParts?: CemCssPart[];
|
|
41
|
-
cssProperties?: CemCssProperty[];
|
|
42
|
-
description?: string;
|
|
43
|
-
events?: CemEvent[];
|
|
44
|
-
members?: CemMember[];
|
|
45
|
-
name?: string;
|
|
46
|
-
slots?: CemSlot[];
|
|
47
|
-
superclass?: {
|
|
48
|
-
name: string;
|
|
49
|
-
package?: string;
|
|
39
|
+
readonly attributes?: readonly CemAttribute[];
|
|
40
|
+
readonly cssParts?: readonly CemCssPart[];
|
|
41
|
+
readonly cssProperties?: readonly CemCssProperty[];
|
|
42
|
+
readonly description?: string;
|
|
43
|
+
readonly events?: readonly CemEvent[];
|
|
44
|
+
readonly members?: readonly CemMember[];
|
|
45
|
+
readonly name?: string;
|
|
46
|
+
readonly slots?: readonly CemSlot[];
|
|
47
|
+
readonly superclass?: {
|
|
48
|
+
readonly name: string;
|
|
49
|
+
readonly package?: string;
|
|
50
50
|
};
|
|
51
|
-
tagName?: string;
|
|
52
|
-
[key: string]: unknown;
|
|
51
|
+
readonly tagName?: string;
|
|
52
|
+
readonly [key: string]: unknown;
|
|
53
53
|
}
|
|
54
54
|
export interface Example {
|
|
55
|
-
code: string;
|
|
56
|
-
id: string;
|
|
57
|
-
name: string;
|
|
55
|
+
readonly code: string;
|
|
56
|
+
readonly id: string;
|
|
57
|
+
readonly name: string;
|
|
58
58
|
}
|
|
59
59
|
export interface PackageMeta {
|
|
60
|
-
availableDocPages: DocPage[];
|
|
61
|
-
category: string;
|
|
62
|
-
description: string;
|
|
63
|
-
exampleIds: string[];
|
|
64
|
-
exports: string[];
|
|
65
|
-
hasSource: boolean;
|
|
66
|
-
keywords: string[];
|
|
67
|
-
name: string;
|
|
68
|
-
related: string[];
|
|
69
|
-
slug: string;
|
|
70
|
-
version: string;
|
|
60
|
+
readonly availableDocPages: readonly DocPage[];
|
|
61
|
+
readonly category: string;
|
|
62
|
+
readonly description: string;
|
|
63
|
+
readonly exampleIds: readonly string[];
|
|
64
|
+
readonly exports: readonly string[];
|
|
65
|
+
readonly hasSource: boolean;
|
|
66
|
+
readonly keywords: readonly string[];
|
|
67
|
+
readonly name: string;
|
|
68
|
+
readonly related: readonly string[];
|
|
69
|
+
readonly slug: string;
|
|
70
|
+
readonly version: string;
|
|
71
71
|
}
|
|
72
72
|
export interface PackageContent {
|
|
73
|
-
apiSource: string | null;
|
|
74
|
-
docs: Partial<Record<DocPage, string
|
|
75
|
-
examples: Example[];
|
|
76
|
-
typeSignatures: Record<string, string
|
|
73
|
+
readonly apiSource: string | null;
|
|
74
|
+
readonly docs: Readonly<Partial<Record<DocPage, string>>>;
|
|
75
|
+
readonly examples: readonly Example[];
|
|
76
|
+
readonly typeSignatures: Readonly<Record<string, string>>;
|
|
77
77
|
}
|
|
78
78
|
export interface CatalogFile {
|
|
79
|
-
packages: PackageMeta[];
|
|
80
|
-
version: string;
|
|
79
|
+
readonly packages: readonly PackageMeta[];
|
|
80
|
+
readonly version: string;
|
|
81
81
|
}
|
|
82
82
|
export interface SearchRecord {
|
|
83
|
-
category: string;
|
|
84
|
-
description: string;
|
|
85
|
-
docs: Partial<Record<DocPage, string
|
|
86
|
-
examples:
|
|
87
|
-
id: string;
|
|
88
|
-
text: string;
|
|
89
|
-
}
|
|
90
|
-
exports: string;
|
|
91
|
-
keywords: string;
|
|
92
|
-
name: string;
|
|
93
|
-
related: string;
|
|
94
|
-
slug: string;
|
|
95
|
-
source: string | null;
|
|
83
|
+
readonly category: string;
|
|
84
|
+
readonly description: string;
|
|
85
|
+
readonly docs: Readonly<Partial<Record<DocPage, string>>>;
|
|
86
|
+
readonly examples: readonly {
|
|
87
|
+
readonly id: string;
|
|
88
|
+
readonly text: string;
|
|
89
|
+
}[];
|
|
90
|
+
readonly exports: string;
|
|
91
|
+
readonly keywords: string;
|
|
92
|
+
readonly name: string;
|
|
93
|
+
readonly related: string;
|
|
94
|
+
readonly slug: string;
|
|
95
|
+
readonly source: string | null;
|
|
96
96
|
}
|
|
97
97
|
export interface SnapshotPointer {
|
|
98
|
-
directory: string;
|
|
98
|
+
readonly directory: string;
|
|
99
99
|
}
|
|
100
100
|
export interface SnapshotManifest {
|
|
101
|
-
catalog: 'catalog.json';
|
|
102
|
-
contentDirectory: 'packages';
|
|
103
|
-
refine: 'refine.json' | null;
|
|
104
|
-
schemaVersion: typeof SNAPSHOT_SCHEMA_VERSION;
|
|
105
|
-
search: 'search.json';
|
|
106
|
-
version: string;
|
|
101
|
+
readonly catalog: 'catalog.json';
|
|
102
|
+
readonly contentDirectory: 'packages';
|
|
103
|
+
readonly refine: 'refine.json' | null;
|
|
104
|
+
readonly schemaVersion: typeof SNAPSHOT_SCHEMA_VERSION;
|
|
105
|
+
readonly search: 'search.json';
|
|
106
|
+
readonly version: string;
|
|
107
107
|
}
|
|
108
108
|
export interface SnapshotArtifacts {
|
|
109
|
-
catalog: CatalogFile;
|
|
110
|
-
contents: ReadonlyMap<string, PackageContent>;
|
|
111
|
-
manifest: SnapshotManifest;
|
|
112
|
-
refineComponents: CemDeclaration[];
|
|
113
|
-
search: SearchRecord[];
|
|
109
|
+
readonly catalog: CatalogFile;
|
|
110
|
+
readonly contents: ReadonlyMap<string, PackageContent>;
|
|
111
|
+
readonly manifest: SnapshotManifest;
|
|
112
|
+
readonly refineComponents: readonly CemDeclaration[];
|
|
113
|
+
readonly search: readonly SearchRecord[];
|
|
114
114
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vielzeug/codex",
|
|
3
|
-
"version": "26.11.
|
|
3
|
+
"version": "26.11.3",
|
|
4
4
|
"description": "MCP server exposing all Vielzeug docs to AI clients",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
65
|
"@types/node": "^26.6.5",
|
|
66
|
-
"@vielzeug/refine": "26.11.
|
|
66
|
+
"@vielzeug/refine": "26.11.3",
|
|
67
67
|
"typescript": "^6.0.3",
|
|
68
68
|
"vitest": "^5.0.5"
|
|
69
69
|
}
|
package/skills/vielzeug/SKILL.md
CHANGED
|
@@ -9,7 +9,7 @@ Vielzeug is a monorepo of independently published TypeScript packages. "Zero dep
|
|
|
9
9
|
|
|
10
10
|
## Detect
|
|
11
11
|
|
|
12
|
-
1. Read `package.json` (`dependencies`, `devDependencies`, `peerDependencies`) and list every `@vielzeug/*` entry.
|
|
12
|
+
1. Read `package.json` (`dependencies`, `devDependencies`, `peerDependencies`) and list every `@vielzeug/*` entry. Resolve each installed version from `node_modules/@vielzeug/<pkg>/package.json` when present, otherwise from the package-manager lockfile.
|
|
13
13
|
2. Note whether `@vielzeug/refine` is installed. If it is, the **Refine** and **Theme** sections below are mandatory for any UI work.
|
|
14
14
|
3. Read the project's own agent contract (`AGENTS.md`, `.github/copilot-instructions.md`) first: project rules win over this skill.
|
|
15
15
|
|
|
@@ -26,10 +26,12 @@ Never guess exports, attributes, events, slots, or token names. Look them up:
|
|
|
26
26
|
| Which Refine components exist? | `refine-list-components` | `node_modules/@vielzeug/refine/dist/custom-elements.json` |
|
|
27
27
|
| Attributes, properties, events, slots, CSS parts of `ore-*` | `refine-get-component` | same manifest |
|
|
28
28
|
| Available design tokens | `refine-get-tokens` | `node_modules/@vielzeug/refine/dist/styles/tokens.css` |
|
|
29
|
-
|
|
|
29
|
+
| Are component attribute names recognized? | `refine-validate-usage` | compare against the manifest |
|
|
30
30
|
| Blank component scaffold | `refine-generate-template` | N/A |
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
Codex serves a versioned snapshot, which may not match the versions installed in the project or include the newest packages. Compare `get-package`'s `version` with the installed version before using its API docs or signatures. If they differ, treat the installed package's declarations, docs, and runtime as authoritative; do not use newer snapshot APIs unless the dependency is deliberately updated. Treat the generated package list as a discovery aid, not proof that no other package exists.
|
|
33
|
+
|
|
34
|
+
If MCP is unavailable, use the offline fallback first. Check installed packages and the lockfile when the generated package list has no match. If the needed information is still unavailable and MCP setup would help, ask before running `npx -y @vielzeug/codex` or changing MCP configuration; setup details are in `node_modules/@vielzeug/codex/mcp-setup.json`.
|
|
33
35
|
|
|
34
36
|
## Use the owning package
|
|
35
37
|
|
|
@@ -88,7 +90,7 @@ Common compositions (verify each API with `get-docs` before writing code):
|
|
|
88
90
|
- **Data**: `courier` for HTTP with caching and structured errors; `sourcerer` for paged/cursor/infinite collections; `vault` for storage; `postmaster` for durable jobs; `scout` for fuzzy search; `mesh` for backendless peer sessions on a LAN; `sigil` for QR generation/scanning: prefer `ore-qr-code` / `ore-qr-scanner` when Refine is installed.
|
|
89
91
|
- **Forms**: `forge` for form state, validation, and submission; `spell` for schemas; render fields with Refine inputs when Refine is installed.
|
|
90
92
|
- **App shell**: `wayfinder` routing; `conduit` DI; `herald` events; `lingua` i18n; `rune` logging; `ward` authorization; `keymap` shortcuts.
|
|
91
|
-
- **
|
|
93
|
+
- **Own cleanup** for every stateful handle or subscription whose API documents disposal or unsubscription, and tie it to the owner's lifecycle. Pure functions and value-returning APIs need no cleanup; verify the specific API contract rather than assuming it returns a disposable.
|
|
92
94
|
|
|
93
95
|
## Refine (when `@vielzeug/refine` is installed)
|
|
94
96
|
|
|
@@ -105,17 +107,17 @@ Refine is the UI layer. Build interfaces from `ore-*` elements before anything e
|
|
|
105
107
|
|
|
106
108
|
2. **Register per component** through explicit side-effect subpaths (`import '@vielzeug/refine/button'`), never the whole library, unless the project already does so.
|
|
107
109
|
|
|
108
|
-
3. **
|
|
110
|
+
3. **Prefer Refine components when they fit.** For common interface controls and widgets such as buttons, inputs, selects, dialogs, menus, tables, and tabs, first check whether Refine has a component whose documented behavior fits the feature and the project's framework, accessibility, and runtime requirements. Confirm the tag with `refine-list-components`; read its contract with `refine-get-component`. If no component fits or a project requirement makes it unsuitable, use the simplest appropriate native element or other package and briefly explain the choice; do not build a parallel composite when a suitable Refine component exists.
|
|
109
111
|
|
|
110
|
-
4. **
|
|
112
|
+
4. **Use native elements for document semantics** (`<main>`, `<section>`, `<article>`, headings, paragraphs, plain links, and images), and when they are the better fit for a documented project or platform constraint.
|
|
111
113
|
|
|
112
114
|
5. **Follow the element contract**: attributes for primitives, JavaScript properties for objects/arrays/callbacks, standard DOM events (read state from `event.target`), named slots for composition. Icon-only controls need an accessible label.
|
|
113
115
|
|
|
114
116
|
6. **Type the tags** once in a type entry point: `import type {} from '@vielzeug/refine/frameworks/elements'` (or `/react`, `/vue`). Framework wiring (React 18/19, Vue, Svelte, Angular, SSR guards) is documented in the Refine `frameworks` doc: fetch it with `get-docs` before integrating.
|
|
115
117
|
|
|
116
|
-
7. **
|
|
118
|
+
7. **Check attribute names** with `refine-validate-usage` when available. It only checks for unknown attributes on the specified component's opening tag; it does not validate HTML generally, attribute values, JavaScript properties, events, slots, accessibility, or runtime behavior. Check those against the component docs and relevant tests instead.
|
|
117
119
|
|
|
118
|
-
8. **Missing capability?**
|
|
120
|
+
8. **Missing capability?** Compose existing `ore-*` elements when they fit. If none meets the documented feature and project requirements, use the simplest appropriate native element or other package and report the gap; avoid a parallel composite when a suitable Refine component exists.
|
|
119
121
|
|
|
120
122
|
## Theme (when `@vielzeug/refine` is installed)
|
|
121
123
|
|
|
@@ -128,7 +130,7 @@ Refine is the UI layer. Build interfaces from `ore-*` elements before anything e
|
|
|
128
130
|
|
|
129
131
|
## Other UI packages
|
|
130
132
|
|
|
131
|
-
Refine covers the widget layer; these
|
|
133
|
+
Refine covers the widget layer; these provide specialized behavior it may not cover. Use the package that best fits the requirement, and prefer an `ore-*` element when it provides the needed behavior:
|
|
132
134
|
|
|
133
135
|
- `prism`: SVG charts (line, bar, area, pie, sparkline) plus `@vielzeug/prism/theme`.
|
|
134
136
|
- `scroll`: virtualized large lists (prefer `ore-datagrid`/`ore-list` for ordinary sizes).
|
|
@@ -141,8 +143,8 @@ Refine covers the widget layer; these cover what it does not. Use them directly
|
|
|
141
143
|
## Anti-patterns
|
|
142
144
|
|
|
143
145
|
- Hand-rolled signals, fetch wrappers, validators, routers, i18n, or DI when the package is installed.
|
|
144
|
-
- Custom modal, dropdown, tooltip, select, tabs, or toast implementations
|
|
145
|
-
- `<button>`, `<input>`, `<select>`, `<table>` for interactive UI
|
|
146
|
+
- Custom modal, dropdown, tooltip, select, tabs, or toast implementations when a suitable Refine component meets the project requirements.
|
|
147
|
+
- Native `<button>`, `<input>`, `<select>`, or `<table>` for interactive UI when a suitable Refine component meets the project requirements.
|
|
146
148
|
- Inline colors, magic pixel values, `!important`, or `@media (prefers-color-scheme)` color rules.
|
|
147
149
|
- Inventing an attribute, event, or slot that `refine-get-component` does not list.
|
|
148
150
|
- Forgetting `tokens.css`/`fouc.css`, or importing the whole library when subpaths suffice.
|
|
@@ -152,6 +154,6 @@ Refine covers the widget layer; these cover what it does not. Use them directly
|
|
|
152
154
|
|
|
153
155
|
- Every new capability maps to an installed `@vielzeug/*` package or is justified as out of scope.
|
|
154
156
|
- No parallel implementation of something an installed package provides.
|
|
155
|
-
- With Refine installed:
|
|
156
|
-
- Every
|
|
157
|
+
- With Refine installed: prefer `ore-*` for interactive UI when its documented contract fits; load `tokens.css` + `fouc.css` once, use the attribute checker within its stated limits, and use Refine tokens for app styling where suitable tokens exist.
|
|
158
|
+
- Every API that documents an owned resource or cleanup operation is integrated with the owning lifecycle; pure and value-returning APIs are not given invented cleanup.
|
|
157
159
|
- Claims about package APIs were verified with `get-docs` / `get-type-signature`, not recalled.
|