@equinor/fusion-framework-cli-plugin-ai-index 3.0.5 → 3.0.7
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/CHANGELOG.md +41 -0
- package/dist/esm/bin/apply-metadata.js +13 -5
- package/dist/esm/bin/apply-metadata.js.map +1 -1
- package/dist/esm/bin/apply-schema.js +7 -1
- package/dist/esm/bin/apply-schema.js.map +1 -1
- package/dist/esm/bin/apply-schema.test.js +2 -1
- package/dist/esm/bin/apply-schema.test.js.map +1 -1
- package/dist/esm/bin/{delete-removed-files.js → create-delete-removed-files-stream.js} +12 -1
- package/dist/esm/bin/create-delete-removed-files-stream.js.map +1 -0
- package/dist/esm/bin/embed.js +260 -97
- package/dist/esm/bin/embed.js.map +1 -1
- package/dist/esm/bin/execute-pipeline.js +5 -0
- package/dist/esm/bin/execute-pipeline.js.map +1 -1
- package/dist/esm/bin/get-diff.js +6 -0
- package/dist/esm/bin/get-diff.js.map +1 -1
- package/dist/esm/{embeddings-command.options.js → command-options-schema.js} +1 -1
- package/dist/esm/command-options-schema.js.map +1 -0
- package/dist/esm/{embeddings-command.js → command.js} +4 -2
- package/dist/esm/command.js.map +1 -0
- package/dist/esm/{create-command.js → create-index-command.js} +13 -5
- package/dist/esm/create-index-command.js.map +1 -0
- package/dist/esm/{schema.js → define-index-schema.js} +1 -1
- package/dist/esm/define-index-schema.js.map +1 -0
- package/dist/esm/delete-command.js +11 -2
- package/dist/esm/delete-command.js.map +1 -1
- package/dist/esm/delete-index-command.js +4 -0
- package/dist/esm/delete-index-command.js.map +1 -1
- package/dist/esm/{delete-command.options.js → delete-options-schema.js} +1 -1
- package/dist/esm/delete-options-schema.js.map +1 -0
- package/dist/esm/embed-command.js +3 -4
- package/dist/esm/embed-command.js.map +1 -1
- package/dist/esm/index.js +3 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/search-command.js +20 -0
- package/dist/esm/search-command.js.map +1 -1
- package/dist/esm/utils/git/{metadata.js → extract-git-metadata.js} +4 -2
- package/dist/esm/utils/git/extract-git-metadata.js.map +1 -0
- package/dist/esm/utils/git/get-changed-files.js +87 -0
- package/dist/esm/utils/git/get-changed-files.js.map +1 -0
- package/dist/esm/utils/git/{file-changes.js → get-file-status.js} +9 -95
- package/dist/esm/utils/git/get-file-status.js.map +1 -0
- package/dist/esm/utils/git/{status.js → get-git-status.js} +5 -2
- package/dist/esm/utils/git/get-git-status.js.map +1 -0
- package/dist/esm/utils/git/get-git.js +30 -0
- package/dist/esm/utils/git/get-git.js.map +1 -0
- package/dist/esm/utils/git/index.js +7 -4
- package/dist/esm/utils/git/index.js.map +1 -1
- package/dist/esm/utils/git/is-file-changed.js +19 -0
- package/dist/esm/utils/git/is-file-changed.js.map +1 -0
- package/dist/esm/utils/git/resolve-project-root.js +22 -0
- package/dist/esm/utils/git/resolve-project-root.js.map +1 -0
- package/dist/esm/utils/markdown/index.js +3 -1
- package/dist/esm/utils/markdown/index.js.map +1 -1
- package/dist/esm/utils/markdown/is-markdown-file.js +10 -0
- package/dist/esm/utils/markdown/is-markdown-file.js.map +1 -0
- package/dist/esm/utils/markdown/parse-markdown-file.js +29 -0
- package/dist/esm/utils/markdown/parse-markdown-file.js.map +1 -0
- package/dist/esm/utils/markdown/{parser.js → parse-markdown.js} +8 -37
- package/dist/esm/utils/markdown/parse-markdown.js.map +1 -0
- package/dist/esm/utils/{embedding-dimensions.js → resolve-embedding-dimensions.js} +3 -1
- package/dist/esm/utils/resolve-embedding-dimensions.js.map +1 -0
- package/dist/esm/utils/{package-resolver.js → resolve-package.js} +4 -1
- package/dist/esm/utils/resolve-package.js.map +1 -0
- package/dist/esm/utils/ts-doc/create-typescript-document.js +27 -0
- package/dist/esm/utils/ts-doc/create-typescript-document.js.map +1 -0
- package/dist/esm/utils/ts-doc/extract-document-from-class-node.js +86 -0
- package/dist/esm/utils/ts-doc/extract-document-from-class-node.js.map +1 -0
- package/dist/esm/utils/ts-doc/extract-document-from-node.js +82 -0
- package/dist/esm/utils/ts-doc/extract-document-from-node.js.map +1 -0
- package/dist/esm/utils/ts-doc/index.js +3 -1
- package/dist/esm/utils/ts-doc/index.js.map +1 -1
- package/dist/esm/utils/ts-doc/is-typescript-file.js +10 -0
- package/dist/esm/utils/ts-doc/is-typescript-file.js.map +1 -0
- package/dist/esm/utils/ts-doc/{constants.js → node-kinds.js} +1 -1
- package/dist/esm/utils/ts-doc/node-kinds.js.map +1 -0
- package/dist/esm/utils/ts-doc/parse-ts-doc-from-file-sync.js +23 -0
- package/dist/esm/utils/ts-doc/parse-ts-doc-from-file-sync.js.map +1 -0
- package/dist/esm/utils/ts-doc/parse-ts-doc-sync.js +18 -0
- package/dist/esm/utils/ts-doc/parse-ts-doc-sync.js.map +1 -0
- package/dist/esm/utils/ts-doc/process-source-file.js +22 -0
- package/dist/esm/utils/ts-doc/process-source-file.js.map +1 -0
- package/dist/esm/utils/zod-to-azure-fields.js +7 -0
- package/dist/esm/utils/zod-to-azure-fields.js.map +1 -1
- package/dist/esm/utils/zod-to-azure-fields.test.js +8 -7
- package/dist/esm/utils/zod-to-azure-fields.test.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/bin/apply-schema.d.ts +1 -1
- package/dist/types/config.d.ts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/utils/git/get-changed-files.d.ts +13 -0
- package/dist/types/utils/git/get-file-status.d.ts +13 -0
- package/dist/types/utils/git/{git-client.d.ts → get-git.d.ts} +0 -10
- package/dist/types/utils/git/index.d.ts +7 -4
- package/dist/types/utils/git/is-file-changed.d.ts +12 -0
- package/dist/types/utils/git/resolve-project-root.d.ts +10 -0
- package/dist/types/utils/markdown/index.d.ts +3 -1
- package/dist/types/utils/markdown/is-markdown-file.d.ts +7 -0
- package/dist/types/utils/markdown/parse-markdown-file.d.ts +14 -0
- package/dist/types/utils/markdown/parse-markdown.d.ts +14 -0
- package/dist/types/utils/ts-doc/create-typescript-document.d.ts +12 -0
- package/dist/types/utils/ts-doc/extract-document-from-class-node.d.ts +15 -0
- package/dist/types/utils/ts-doc/extract-document-from-node.d.ts +20 -0
- package/dist/types/utils/ts-doc/index.d.ts +3 -1
- package/dist/types/utils/ts-doc/is-typescript-file.d.ts +7 -0
- package/dist/types/utils/ts-doc/parse-ts-doc-from-file-sync.d.ts +14 -0
- package/dist/types/utils/ts-doc/parse-ts-doc-sync.d.ts +12 -0
- package/dist/types/utils/ts-doc/process-source-file.d.ts +11 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +8 -8
- package/src/bin/apply-metadata.ts +69 -57
- package/src/bin/apply-schema.test.ts +2 -1
- package/src/bin/apply-schema.ts +6 -1
- package/src/bin/{delete-removed-files.ts → create-delete-removed-files-stream.ts} +12 -1
- package/src/bin/embed.ts +389 -145
- package/src/bin/execute-pipeline.ts +5 -0
- package/src/bin/get-diff.ts +7 -1
- package/src/bin/types.ts +1 -1
- package/src/{embeddings-command.ts → command.ts} +3 -1
- package/src/config.ts +1 -1
- package/src/{create-command.ts → create-index-command.ts} +15 -5
- package/src/delete-command.ts +11 -2
- package/src/delete-index-command.ts +4 -0
- package/src/embed-command.ts +3 -6
- package/src/index.ts +3 -3
- package/src/search-command.ts +20 -0
- package/src/utils/git/{metadata.ts → extract-git-metadata.ts} +3 -1
- package/src/utils/git/get-changed-files.ts +93 -0
- package/src/utils/git/{file-changes.ts → get-file-status.ts} +9 -103
- package/src/utils/git/{status.ts → get-git-status.ts} +4 -1
- package/src/utils/git/{git-client.ts → get-git.ts} +4 -22
- package/src/utils/git/index.ts +7 -4
- package/src/utils/git/is-file-changed.ts +21 -0
- package/src/utils/git/resolve-project-root.ts +22 -0
- package/src/utils/markdown/index.ts +3 -1
- package/src/utils/markdown/is-markdown-file.ts +9 -0
- package/src/utils/markdown/parse-markdown-file.ts +36 -0
- package/src/utils/markdown/{parser.ts → parse-markdown.ts} +16 -51
- package/src/utils/{embedding-dimensions.ts → resolve-embedding-dimensions.ts} +2 -0
- package/src/utils/{package-resolver.ts → resolve-package.ts} +3 -0
- package/src/utils/ts-doc/create-typescript-document.ts +36 -0
- package/src/utils/ts-doc/extract-document-from-class-node.ts +106 -0
- package/src/utils/ts-doc/extract-document-from-node.ts +120 -0
- package/src/utils/ts-doc/index.ts +3 -1
- package/src/utils/ts-doc/is-typescript-file.ts +9 -0
- package/src/utils/ts-doc/parse-ts-doc-from-file-sync.ts +32 -0
- package/src/utils/ts-doc/parse-ts-doc-sync.ts +23 -0
- package/src/utils/ts-doc/process-source-file.ts +30 -0
- package/src/utils/zod-to-azure-fields.test.ts +10 -7
- package/src/utils/zod-to-azure-fields.ts +7 -0
- package/src/version.ts +1 -1
- package/dist/esm/bin/delete-removed-files.js.map +0 -1
- package/dist/esm/bin/file-stream.js +0 -22
- package/dist/esm/bin/file-stream.js.map +0 -1
- package/dist/esm/create-command.js.map +0 -1
- package/dist/esm/delete-command.options.js.map +0 -1
- package/dist/esm/embeddings-command.js.map +0 -1
- package/dist/esm/embeddings-command.options.js.map +0 -1
- package/dist/esm/schema.js.map +0 -1
- package/dist/esm/utils/embedding-dimensions.js.map +0 -1
- package/dist/esm/utils/git/file-changes.js.map +0 -1
- package/dist/esm/utils/git/git-client.js +0 -48
- package/dist/esm/utils/git/git-client.js.map +0 -1
- package/dist/esm/utils/git/metadata.js.map +0 -1
- package/dist/esm/utils/git/status.js.map +0 -1
- package/dist/esm/utils/markdown/parser.js.map +0 -1
- package/dist/esm/utils/package-resolver.js.map +0 -1
- package/dist/esm/utils/ts-doc/constants.js.map +0 -1
- package/dist/esm/utils/ts-doc/extractors.js +0 -189
- package/dist/esm/utils/ts-doc/extractors.js.map +0 -1
- package/dist/esm/utils/ts-doc/parser.js +0 -46
- package/dist/esm/utils/ts-doc/parser.js.map +0 -1
- package/dist/types/bin/file-stream.d.ts +0 -1
- package/dist/types/utils/git/file-changes.d.ts +0 -36
- package/dist/types/utils/markdown/parser.d.ts +0 -34
- package/dist/types/utils/ts-doc/extractors.d.ts +0 -42
- package/dist/types/utils/ts-doc/parser.d.ts +0 -32
- package/src/bin/file-stream.ts +0 -34
- package/src/utils/ts-doc/extractors.ts +0 -260
- package/src/utils/ts-doc/parser.ts +0 -60
- /package/dist/types/bin/{delete-removed-files.d.ts → create-delete-removed-files-stream.d.ts} +0 -0
- /package/dist/types/{embeddings-command.options.d.ts → command-options-schema.d.ts} +0 -0
- /package/dist/types/{embeddings-command.d.ts → command.d.ts} +0 -0
- /package/dist/types/{create-command.d.ts → create-index-command.d.ts} +0 -0
- /package/dist/types/{schema.d.ts → define-index-schema.d.ts} +0 -0
- /package/dist/types/{delete-command.options.d.ts → delete-options-schema.d.ts} +0 -0
- /package/dist/types/utils/git/{metadata.d.ts → extract-git-metadata.d.ts} +0 -0
- /package/dist/types/utils/git/{status.d.ts → get-git-status.d.ts} +0 -0
- /package/dist/types/utils/{embedding-dimensions.d.ts → resolve-embedding-dimensions.d.ts} +0 -0
- /package/dist/types/utils/{package-resolver.d.ts → resolve-package.d.ts} +0 -0
- /package/dist/types/utils/ts-doc/{constants.d.ts → node-kinds.d.ts} +0 -0
- /package/src/{embeddings-command.options.ts → command-options-schema.ts} +0 -0
- /package/src/{schema.ts → define-index-schema.ts} +0 -0
- /package/src/{delete-command.options.ts → delete-options-schema.ts} +0 -0
- /package/src/utils/ts-doc/{constants.ts → node-kinds.ts} +0 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { SyntaxKind } from 'ts-morph';
|
|
2
|
+
import { createTypescriptDocument } from './create-typescript-document.js';
|
|
3
|
+
/**
|
|
4
|
+
* Extracts a vector-store document from a TypeScript class declaration.
|
|
5
|
+
*
|
|
6
|
+
* Collects the class-level TSDoc comment, constructor signature (if documented),
|
|
7
|
+
* and all public members with TSDoc into a single document whose `pageContent`
|
|
8
|
+
* mirrors a minimal class interface.
|
|
9
|
+
*
|
|
10
|
+
* @param classNode - The `ts-morph` {@link ClassDeclaration} node to inspect.
|
|
11
|
+
* @param sourceFile - The project source file that contains the class.
|
|
12
|
+
* @param _options - Optional parsing configuration.
|
|
13
|
+
* @returns A {@link TypescriptDocument}, or `null` when the class has no TSDoc.
|
|
14
|
+
*/
|
|
15
|
+
export const extractDocumentFromClassNode = (classNode, sourceFile, _options) => {
|
|
16
|
+
// Find TSDoc comment (/** ... */); only the block comment counts, not plain `//` or `/* */` comments
|
|
17
|
+
const docCommentRange = classNode
|
|
18
|
+
.getLeadingCommentRanges()
|
|
19
|
+
.find((range) => range.getText().startsWith('/**'));
|
|
20
|
+
// Skip undocumented classes — nothing to index
|
|
21
|
+
if (!docCommentRange) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
const docComment = docCommentRange.getText();
|
|
25
|
+
const className = classNode.getName() || 'AnonymousClass';
|
|
26
|
+
// Start with class TSDoc and declaration (without body)
|
|
27
|
+
const classSignature = `${classNode.getText({ includeJsDocComments: false }).split('{')[0].trim()} {`;
|
|
28
|
+
let pageContent = `${docComment}\n${classSignature}`;
|
|
29
|
+
// Add constructor with TSDoc if present
|
|
30
|
+
const constructorNode = classNode.getConstructors()[0]; // Get the first constructor (if any)
|
|
31
|
+
// Only surface the constructor signature when it has documentation to show
|
|
32
|
+
if (constructorNode) {
|
|
33
|
+
// Only the TSDoc block comment counts, not plain `//` or `/* */` comments
|
|
34
|
+
const constructorDocCommentRange = constructorNode
|
|
35
|
+
.getLeadingCommentRanges()
|
|
36
|
+
.find((range) => range.getText().startsWith('/**'));
|
|
37
|
+
// Skip undocumented constructors — nothing to add to the page content
|
|
38
|
+
if (constructorDocCommentRange) {
|
|
39
|
+
const constructorDocComment = constructorDocCommentRange.getText();
|
|
40
|
+
const constructorSignature = constructorNode
|
|
41
|
+
.getText({ includeJsDocComments: false })
|
|
42
|
+
.split('{')[0]
|
|
43
|
+
.trim();
|
|
44
|
+
pageContent += `\n ${constructorDocComment}\n ${constructorSignature}`;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// Add public methods and properties with TSDoc
|
|
48
|
+
const publicMembers = [
|
|
49
|
+
...classNode
|
|
50
|
+
.getMethods()
|
|
51
|
+
// Only public methods form part of the class's documented surface
|
|
52
|
+
.filter((m) => m.hasModifier(SyntaxKind.PublicKeyword)),
|
|
53
|
+
...classNode
|
|
54
|
+
.getProperties()
|
|
55
|
+
// Only public properties form part of the class's documented surface
|
|
56
|
+
.filter((p) => p.hasModifier(SyntaxKind.PublicKeyword)),
|
|
57
|
+
];
|
|
58
|
+
// Append each documented public member's TSDoc and signature to the page content
|
|
59
|
+
publicMembers.forEach((member) => {
|
|
60
|
+
const memberDocCommentRange = member
|
|
61
|
+
.getLeadingCommentRanges()
|
|
62
|
+
// Only the TSDoc block comment counts, not plain `//` or `/* */` comments
|
|
63
|
+
.find((range) => range.getText().startsWith('/**'));
|
|
64
|
+
// Skip undocumented members — nothing to add to the page content
|
|
65
|
+
if (memberDocCommentRange) {
|
|
66
|
+
const memberDocComment = memberDocCommentRange.getText();
|
|
67
|
+
let memberSignature = '';
|
|
68
|
+
// Methods and properties render their signature differently
|
|
69
|
+
if (member.getKind() === SyntaxKind.MethodDeclaration) {
|
|
70
|
+
memberSignature = member
|
|
71
|
+
.getText({ includeJsDocComments: false })
|
|
72
|
+
.split('{')[0]
|
|
73
|
+
.trim();
|
|
74
|
+
}
|
|
75
|
+
else if (member.getKind() === SyntaxKind.PropertyDeclaration) {
|
|
76
|
+
memberSignature = member
|
|
77
|
+
.getText({ includeJsDocComments: false })
|
|
78
|
+
.trim();
|
|
79
|
+
}
|
|
80
|
+
pageContent += `\n ${memberDocComment}\n ${memberSignature}`;
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
pageContent += '\n}';
|
|
84
|
+
return createTypescriptDocument(sourceFile, pageContent, classNode.getKindName(), className, _options);
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=extract-document-from-class-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract-document-from-class-node.js","sourceRoot":"","sources":["../../../../src/utils/ts-doc/extract-document-from-class-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { SyntaxKind, Node, } from 'ts-morph';
|
|
2
|
+
import { nodeKinds } from './node-kinds.js';
|
|
3
|
+
import { createTypescriptDocument } from './create-typescript-document.js';
|
|
4
|
+
import { extractDocumentFromClassNode } from './extract-document-from-class-node.js';
|
|
5
|
+
/**
|
|
6
|
+
* Extracts a vector-store document from a single TypeScript AST node.
|
|
7
|
+
*
|
|
8
|
+
* Handles function declarations, variable statements (arrow / function
|
|
9
|
+
* expressions), interfaces, type aliases, enums, and classes. Delegates
|
|
10
|
+
* to {@link extractDocumentFromClassNode} for class declarations.
|
|
11
|
+
*
|
|
12
|
+
* @param node - The `ts-morph` AST node to inspect.
|
|
13
|
+
* @param sourceFile - The project source file that contains the node.
|
|
14
|
+
* @param options - Optional parsing configuration.
|
|
15
|
+
* @param nodeOptions - Optional flags (e.g. `skipKindCheck`) to override default
|
|
16
|
+
* kind filtering.
|
|
17
|
+
* @returns A {@link TypescriptDocument}, or `null` when the node has no TSDoc or
|
|
18
|
+
* is not a supported kind.
|
|
19
|
+
*/
|
|
20
|
+
export const extractDocumentFromNode = (node, sourceFile, options, nodeOptions) => {
|
|
21
|
+
const kind = node.getKind();
|
|
22
|
+
// Skip if not in our target kinds unless skipKindCheck is true
|
|
23
|
+
if (!nodeOptions?.skipKindCheck && !nodeKinds.includes(kind)) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
// Handle ClassDeclaration separately
|
|
27
|
+
if (kind === SyntaxKind.ClassDeclaration) {
|
|
28
|
+
return extractDocumentFromClassNode(node, sourceFile, options);
|
|
29
|
+
}
|
|
30
|
+
// Handle VariableStatement (e.g., `export const bundleApp = ...`)
|
|
31
|
+
if (kind === SyntaxKind.VariableStatement) {
|
|
32
|
+
// Variable statements may declare multiple bindings; find the actual declaration node
|
|
33
|
+
const declaration = node
|
|
34
|
+
.getDeclarations()
|
|
35
|
+
.find((d) => d.getKind() === SyntaxKind.VariableDeclaration);
|
|
36
|
+
// Skip malformed statements with no declaration
|
|
37
|
+
if (!declaration) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
const initializer = declaration.getInitializer();
|
|
41
|
+
// Only arrow functions and function expressions are documentable as functions
|
|
42
|
+
if (!initializer ||
|
|
43
|
+
!(initializer.getKind() === SyntaxKind.ArrowFunction ||
|
|
44
|
+
initializer.getKind() === SyntaxKind.FunctionExpression)) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
// Get the TSDoc comment from the VariableStatement; only the block comment counts, not plain `//` or `/* */` comments
|
|
48
|
+
const docCommentRange = node
|
|
49
|
+
.getLeadingCommentRanges()
|
|
50
|
+
.find((range) => range.getText().startsWith('/**'));
|
|
51
|
+
// Skip undocumented statements — nothing to index
|
|
52
|
+
if (!docCommentRange) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
const nodeName = declaration.getName() || 'missing_name_of_node';
|
|
56
|
+
const docComment = docCommentRange.getText();
|
|
57
|
+
// Only include the TSDoc comment for functions/lambdas
|
|
58
|
+
return createTypescriptDocument(sourceFile, docComment, initializer.getKindName(), nodeName, options);
|
|
59
|
+
}
|
|
60
|
+
// Get name if node has one
|
|
61
|
+
const nodeName = Node.hasName(node) ? node.getName() : 'missing_name_of_node';
|
|
62
|
+
// Find TSDoc comment (/** ... */); only the block comment counts, not plain `//` or `/* */` comments
|
|
63
|
+
const docCommentRange = node
|
|
64
|
+
.getLeadingCommentRanges()
|
|
65
|
+
.find((range) => range.getText().startsWith('/**'));
|
|
66
|
+
// Skip undocumented nodes — nothing to index
|
|
67
|
+
if (!docCommentRange) {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
const docComment = docCommentRange.getText();
|
|
71
|
+
let pageContent = docComment;
|
|
72
|
+
// For interfaces and type aliases, include the full code
|
|
73
|
+
if (kind === SyntaxKind.InterfaceDeclaration || kind === SyntaxKind.TypeAliasDeclaration) {
|
|
74
|
+
pageContent = `${docComment}\n${node.getText()}`;
|
|
75
|
+
}
|
|
76
|
+
// For other nodes (e.g., FunctionDeclaration), include only TSDoc
|
|
77
|
+
else if (kind !== SyntaxKind.FunctionDeclaration) {
|
|
78
|
+
return null; // Skip unsupported kinds
|
|
79
|
+
}
|
|
80
|
+
return createTypescriptDocument(sourceFile, pageContent, node.getKindName(), nodeName, options);
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=extract-document-from-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract-document-from-node.js","sourceRoot":"","sources":["../../../../src/utils/ts-doc/extract-document-from-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
// Re-export parser functions
|
|
2
|
-
export { isTypescriptFile
|
|
2
|
+
export { isTypescriptFile } from './is-typescript-file.js';
|
|
3
|
+
export { parseTsDocSync } from './parse-ts-doc-sync.js';
|
|
4
|
+
export { parseTsDocFromFileSync } from './parse-ts-doc-from-file-sync.js';
|
|
3
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/ts-doc/index.ts"],"names":[],"mappings":"AAGA,6BAA6B;AAC7B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/ts-doc/index.ts"],"names":[],"mappings":"AAGA,6BAA6B;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checks whether a file path has a TypeScript (`.ts`) or TSX (`.tsx`) extension.
|
|
3
|
+
*
|
|
4
|
+
* @param filePath - Absolute or relative file path.
|
|
5
|
+
* @returns `true` if the file extension is `.ts` or `.tsx`.
|
|
6
|
+
*/
|
|
7
|
+
export const isTypescriptFile = (filePath) => {
|
|
8
|
+
return filePath.endsWith('.ts') || filePath.endsWith('.tsx');
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=is-typescript-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-typescript-file.js","sourceRoot":"","sources":["../../../../src/utils/ts-doc/is-typescript-file.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAW,EAAE;IAC5D,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-kinds.js","sourceRoot":"","sources":["../../../../src/utils/ts-doc/node-kinds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,UAAU,CAAC,mBAAmB;IAC9B,UAAU,CAAC,gBAAgB;IAC3B,UAAU,CAAC,oBAAoB;IAC/B,UAAU,CAAC,oBAAoB;IAC/B,UAAU,CAAC,iBAAiB;IAC5B,UAAU,CAAC,eAAe;CAC3B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { assert } from 'node:console';
|
|
2
|
+
import { readFileSync } from 'node:fs';
|
|
3
|
+
import { Project } from 'ts-morph';
|
|
4
|
+
import { isTypescriptFile } from './is-typescript-file.js';
|
|
5
|
+
import { processSourceFile } from './process-source-file.js';
|
|
6
|
+
/**
|
|
7
|
+
* Parses TSDoc comments from a TypeScript file on disk.
|
|
8
|
+
*
|
|
9
|
+
* Reads the file synchronously, creates a `ts-morph` project, and returns
|
|
10
|
+
* one {@link TypescriptDocument} per documented top-level declaration.
|
|
11
|
+
*
|
|
12
|
+
* @param file - Source file descriptor with path and optional project root.
|
|
13
|
+
* @param options - Optional parsing configuration.
|
|
14
|
+
* @returns Array of extracted TypeScript documents.
|
|
15
|
+
* @throws {AssertionError} If the file does not have a `.ts` or `.tsx` extension.
|
|
16
|
+
*/
|
|
17
|
+
export const parseTsDocFromFileSync = (file, options) => {
|
|
18
|
+
assert(isTypescriptFile(file.path), `File ${file.path} is not a TypeScript file`);
|
|
19
|
+
const project = new Project({ useInMemoryFileSystem: true });
|
|
20
|
+
const sourceFile = project.createSourceFile(file.relativePath ?? file.path, readFileSync(file.path, 'utf8'));
|
|
21
|
+
return processSourceFile(sourceFile, options);
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=parse-ts-doc-from-file-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-ts-doc-from-file-sync.js","sourceRoot":"","sources":["../../../../src/utils/ts-doc/parse-ts-doc-from-file-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAInC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,IAAgB,EAChB,OAA2B,EACL,EAAE;IACxB,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,IAAI,CAAC,IAAI,2BAA2B,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CACzC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,EAC9B,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAChC,CAAC;IACF,OAAO,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Project } from 'ts-morph';
|
|
2
|
+
import { processSourceFile } from './process-source-file.js';
|
|
3
|
+
/**
|
|
4
|
+
* Parses TSDoc comments from an in-memory TypeScript code string.
|
|
5
|
+
*
|
|
6
|
+
* Creates a temporary `ts-morph` project, analyses the source, and returns
|
|
7
|
+
* one {@link TypescriptDocument} per documented top-level declaration.
|
|
8
|
+
*
|
|
9
|
+
* @param content - TypeScript source code to parse.
|
|
10
|
+
* @param options - Optional parsing configuration.
|
|
11
|
+
* @returns Array of extracted TypeScript documents with TSDoc metadata.
|
|
12
|
+
*/
|
|
13
|
+
export const parseTsDocSync = (content, options) => {
|
|
14
|
+
const project = new Project({ useInMemoryFileSystem: true });
|
|
15
|
+
const sourceFile = project.createSourceFile('temp.ts', content);
|
|
16
|
+
return processSourceFile(sourceFile, options);
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=parse-ts-doc-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-ts-doc-sync.js","sourceRoot":"","sources":["../../../../src/utils/ts-doc/parse-ts-doc-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,OAAe,EACf,OAA2B,EACL,EAAE;IACxB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChE,OAAO,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { extractDocumentFromNode } from './extract-document-from-node.js';
|
|
2
|
+
/**
|
|
3
|
+
* Walks a TypeScript source file and extracts a {@link TypescriptDocument}
|
|
4
|
+
* for every top-level declaration that carries a TSDoc comment.
|
|
5
|
+
*
|
|
6
|
+
* @param sourceFile - The `ts-morph` source file to traverse.
|
|
7
|
+
* @param options - Optional parsing configuration.
|
|
8
|
+
* @returns Array of extracted documents (one per documented declaration).
|
|
9
|
+
*/
|
|
10
|
+
export const processSourceFile = (sourceFile, options) => {
|
|
11
|
+
const documents = [];
|
|
12
|
+
sourceFile.forEachDescendant((node) => {
|
|
13
|
+
// Collect a document for every descendant node that carries a documentable TSDoc comment
|
|
14
|
+
const document = extractDocumentFromNode(node, sourceFile, options);
|
|
15
|
+
// Skip nodes that produced no document (undocumented or unsupported kind)
|
|
16
|
+
if (document) {
|
|
17
|
+
documents.push(document);
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
return documents;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=process-source-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-source-file.js","sourceRoot":"","sources":["../../../../src/utils/ts-doc/process-source-file.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,UAA6B,EAC7B,OAA2B,EACL,EAAE;IACxB,MAAM,SAAS,GAAyB,EAAE,CAAC;IAE3C,UAAU,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE;QACpC,yFAAyF;QACzF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACpE,0EAA0E;QAC1E,IAAI,QAAQ,EAAE,CAAC;YACb,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
|
|
@@ -30,17 +30,22 @@ function unwrapSchema(schema) {
|
|
|
30
30
|
* @throws {Error} When the Zod type cannot be mapped to an Azure EDM type.
|
|
31
31
|
*/
|
|
32
32
|
function zodToEdmType(schema) {
|
|
33
|
+
// Strings and enums both map to a plain searchable/filterable string field
|
|
33
34
|
if (schema instanceof ZodString || schema instanceof ZodEnum) {
|
|
34
35
|
return 'Edm.String';
|
|
35
36
|
}
|
|
37
|
+
// Numbers are stored as double to cover both int and float inputs
|
|
36
38
|
if (schema instanceof ZodNumber) {
|
|
37
39
|
return 'Edm.Double';
|
|
38
40
|
}
|
|
41
|
+
// Booleans map directly to Azure's boolean EDM type
|
|
39
42
|
if (schema instanceof ZodBoolean) {
|
|
40
43
|
return 'Edm.Boolean';
|
|
41
44
|
}
|
|
45
|
+
// Arrays are only supported for string elements — map to a string collection
|
|
42
46
|
if (schema instanceof ZodArray) {
|
|
43
47
|
const elementSchema = unwrapSchema(schema.element);
|
|
48
|
+
// Only string (or enum) array elements are representable as an Azure string collection
|
|
44
49
|
if (elementSchema instanceof ZodString || elementSchema instanceof ZodEnum) {
|
|
45
50
|
return 'Collection(Edm.String)';
|
|
46
51
|
}
|
|
@@ -59,6 +64,7 @@ function zodToEdmType(schema) {
|
|
|
59
64
|
* @returns Default capability flags for the field.
|
|
60
65
|
*/
|
|
61
66
|
function defaultCapabilities(edmType) {
|
|
67
|
+
// Capabilities vary by EDM type: strings facet, numbers sort, everything filters
|
|
62
68
|
switch (edmType) {
|
|
63
69
|
case 'Edm.String':
|
|
64
70
|
return { filterable: true, sortable: false, facetable: true, searchable: false };
|
|
@@ -109,6 +115,7 @@ function defaultCapabilities(edmType) {
|
|
|
109
115
|
*/
|
|
110
116
|
export function zodToAzureFields(schema) {
|
|
111
117
|
const shape = schema.shape;
|
|
118
|
+
// Map each shape entry to its resolved Azure Search field definition
|
|
112
119
|
return Object.entries(shape).map(([name, fieldSchema]) => {
|
|
113
120
|
// Unwrap wrapper types to reach the concrete type
|
|
114
121
|
const innerSchema = unwrapSchema(fieldSchema);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-to-azure-fields.js","sourceRoot":"","sources":["../../../src/utils/zod-to-azure-fields.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zod-to-azure-fields.js","sourceRoot":"","sources":["../../../src/utils/zod-to-azure-fields.ts"],"names":[],"mappings":"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"}
|
|
@@ -92,13 +92,14 @@ describe('zodToAzureFields', () => {
|
|
|
92
92
|
});
|
|
93
93
|
const fields = zodToAzureFields(schema);
|
|
94
94
|
expect(fields).toHaveLength(4);
|
|
95
|
-
|
|
96
|
-
expect(
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
95
|
+
// Verify field order and names match the schema's declaration order
|
|
96
|
+
expect(
|
|
97
|
+
// Extract just the field names for comparison
|
|
98
|
+
fields.map((f) => f.name)).toEqual(['pkg_name', 'type', 'tags', 'source_dir']);
|
|
99
|
+
// Verify each field resolved to its expected Azure EDM type
|
|
100
|
+
expect(
|
|
101
|
+
// Extract just the field types for comparison
|
|
102
|
+
fields.map((f) => f.type)).toEqual(['Edm.String', 'Edm.String', 'Collection(Edm.String)', 'Edm.String']);
|
|
102
103
|
});
|
|
103
104
|
it('throws for unsupported Zod types (z.object)', () => {
|
|
104
105
|
const schema = z.object({ nested: z.object({ a: z.string() }) });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-to-azure-fields.test.js","sourceRoot":"","sources":["../../../src/utils/zod-to-azure-fields.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"zod-to-azure-fields.test.js","sourceRoot":"","sources":["../../../src/utils/zod-to-azure-fields.test.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/version.js
CHANGED