@portel/photon 1.0.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/LICENSE +21 -0
- package/README.md +952 -0
- package/dist/base.d.ts +58 -0
- package/dist/base.d.ts.map +1 -0
- package/dist/base.js +92 -0
- package/dist/base.js.map +1 -0
- package/dist/cli.d.ts +8 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +1441 -0
- package/dist/cli.js.map +1 -0
- package/dist/dependency-manager.d.ts +49 -0
- package/dist/dependency-manager.d.ts.map +1 -0
- package/dist/dependency-manager.js +165 -0
- package/dist/dependency-manager.js.map +1 -0
- package/dist/loader.d.ts +86 -0
- package/dist/loader.d.ts.map +1 -0
- package/dist/loader.js +612 -0
- package/dist/loader.js.map +1 -0
- package/dist/marketplace-manager.d.ts +261 -0
- package/dist/marketplace-manager.d.ts.map +1 -0
- package/dist/marketplace-manager.js +767 -0
- package/dist/marketplace-manager.js.map +1 -0
- package/dist/path-resolver.d.ts +21 -0
- package/dist/path-resolver.d.ts.map +1 -0
- package/dist/path-resolver.js +71 -0
- package/dist/path-resolver.js.map +1 -0
- package/dist/photon-doc-extractor.d.ts +89 -0
- package/dist/photon-doc-extractor.d.ts.map +1 -0
- package/dist/photon-doc-extractor.js +228 -0
- package/dist/photon-doc-extractor.js.map +1 -0
- package/dist/readme-syncer.d.ts +33 -0
- package/dist/readme-syncer.d.ts.map +1 -0
- package/dist/readme-syncer.js +93 -0
- package/dist/readme-syncer.js.map +1 -0
- package/dist/registry-manager.d.ts +76 -0
- package/dist/registry-manager.d.ts.map +1 -0
- package/dist/registry-manager.js +220 -0
- package/dist/registry-manager.js.map +1 -0
- package/dist/schema-extractor.d.ts +83 -0
- package/dist/schema-extractor.d.ts.map +1 -0
- package/dist/schema-extractor.js +396 -0
- package/dist/schema-extractor.js.map +1 -0
- package/dist/security-scanner.d.ts +52 -0
- package/dist/security-scanner.d.ts.map +1 -0
- package/dist/security-scanner.js +172 -0
- package/dist/security-scanner.js.map +1 -0
- package/dist/server.d.ts +73 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +474 -0
- package/dist/server.js.map +1 -0
- package/dist/template-manager.d.ts +56 -0
- package/dist/template-manager.d.ts.map +1 -0
- package/dist/template-manager.js +509 -0
- package/dist/template-manager.js.map +1 -0
- package/dist/test-client.d.ts +52 -0
- package/dist/test-client.d.ts.map +1 -0
- package/dist/test-client.js +168 -0
- package/dist/test-client.js.map +1 -0
- package/dist/test-marketplace-sources.d.ts +5 -0
- package/dist/test-marketplace-sources.d.ts.map +1 -0
- package/dist/test-marketplace-sources.js +53 -0
- package/dist/test-marketplace-sources.js.map +1 -0
- package/dist/types.d.ts +108 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +12 -0
- package/dist/types.js.map +1 -0
- package/dist/version-checker.d.ts +48 -0
- package/dist/version-checker.d.ts.map +1 -0
- package/dist/version-checker.js +128 -0
- package/dist/version-checker.js.map +1 -0
- package/dist/watcher.d.ts +26 -0
- package/dist/watcher.d.ts.map +1 -0
- package/dist/watcher.js +72 -0
- package/dist/watcher.js.map +1 -0
- package/package.json +79 -0
- package/templates/photon.template.ts +55 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketplace-manager.js","sourceRoot":"","sources":["../src/marketplace-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Path Resolver for Photon MCPs
|
|
3
|
+
*
|
|
4
|
+
* Uses a working directory approach (defaults to ~/.photon)
|
|
5
|
+
* All MCPs are referenced by name only (no paths, no extensions)
|
|
6
|
+
*/
|
|
7
|
+
export declare const DEFAULT_WORKING_DIR: string;
|
|
8
|
+
/**
|
|
9
|
+
* Resolve a Photon MCP file path from name
|
|
10
|
+
* Looks in the specified working directory, or uses absolute path if provided
|
|
11
|
+
*/
|
|
12
|
+
export declare function resolvePhotonPath(name: string, workingDir?: string): Promise<string | null>;
|
|
13
|
+
/**
|
|
14
|
+
* List all Photon MCP files in a directory
|
|
15
|
+
*/
|
|
16
|
+
export declare function listPhotonMCPs(workingDir?: string): Promise<string[]>;
|
|
17
|
+
/**
|
|
18
|
+
* Ensure working directory exists
|
|
19
|
+
*/
|
|
20
|
+
export declare function ensureWorkingDir(workingDir?: string): Promise<void>;
|
|
21
|
+
//# sourceMappingURL=path-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-resolver.d.ts","sourceRoot":"","sources":["../src/path-resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,eAAO,MAAM,mBAAmB,QAAqC,CAAC;AAEtE;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,MAA4B,GACvC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA6BxB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,UAAU,GAAE,MAA4B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAoBhG;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,GAAE,MAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9F"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Path Resolver for Photon MCPs
|
|
3
|
+
*
|
|
4
|
+
* Uses a working directory approach (defaults to ~/.photon)
|
|
5
|
+
* All MCPs are referenced by name only (no paths, no extensions)
|
|
6
|
+
*/
|
|
7
|
+
import * as fs from 'fs/promises';
|
|
8
|
+
import * as path from 'path';
|
|
9
|
+
import * as os from 'os';
|
|
10
|
+
export const DEFAULT_WORKING_DIR = path.join(os.homedir(), '.photon');
|
|
11
|
+
/**
|
|
12
|
+
* Resolve a Photon MCP file path from name
|
|
13
|
+
* Looks in the specified working directory, or uses absolute path if provided
|
|
14
|
+
*/
|
|
15
|
+
export async function resolvePhotonPath(name, workingDir = DEFAULT_WORKING_DIR) {
|
|
16
|
+
// If absolute path provided, check if it exists
|
|
17
|
+
if (path.isAbsolute(name)) {
|
|
18
|
+
try {
|
|
19
|
+
await fs.access(name);
|
|
20
|
+
return name;
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
// Remove extension if provided
|
|
27
|
+
const basename = name.replace(/\.photon\.(ts|js)$/, '');
|
|
28
|
+
// Try .photon.ts first, then .photon.js
|
|
29
|
+
const extensions = ['.photon.ts', '.photon.js'];
|
|
30
|
+
for (const ext of extensions) {
|
|
31
|
+
const filePath = path.join(workingDir, `${basename}${ext}`);
|
|
32
|
+
try {
|
|
33
|
+
await fs.access(filePath);
|
|
34
|
+
return filePath;
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
// Continue to next extension
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// Not found
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* List all Photon MCP files in a directory
|
|
45
|
+
*/
|
|
46
|
+
export async function listPhotonMCPs(workingDir = DEFAULT_WORKING_DIR) {
|
|
47
|
+
try {
|
|
48
|
+
// Ensure directory exists
|
|
49
|
+
await fs.mkdir(workingDir, { recursive: true });
|
|
50
|
+
const entries = await fs.readdir(workingDir, { withFileTypes: true });
|
|
51
|
+
const mcps = [];
|
|
52
|
+
for (const entry of entries) {
|
|
53
|
+
if (entry.isFile() && (entry.name.endsWith('.photon.ts') || entry.name.endsWith('.photon.js'))) {
|
|
54
|
+
// Remove extension for display
|
|
55
|
+
const name = entry.name.replace(/\.photon\.(ts|js)$/, '');
|
|
56
|
+
mcps.push(name);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return mcps.sort();
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
return [];
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Ensure working directory exists
|
|
67
|
+
*/
|
|
68
|
+
export async function ensureWorkingDir(workingDir = DEFAULT_WORKING_DIR) {
|
|
69
|
+
await fs.mkdir(workingDir, { recursive: true });
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=path-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-resolver.js","sourceRoot":"","sources":["../src/path-resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAEtE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAY,EACZ,aAAqB,mBAAmB;IAExC,gDAAgD;IAChD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IAExD,wCAAwC;IACxC,MAAM,UAAU,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAEhD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;IACH,CAAC;IAED,YAAY;IACZ,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,aAAqB,mBAAmB;IAC3E,IAAI,CAAC;QACH,0BAA0B;QAC1B,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,MAAM,IAAI,GAAa,EAAE,CAAC;QAE1B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;gBAC/F,+BAA+B;gBAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;gBAC1D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,aAAqB,mBAAmB;IAC7E,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
interface ConfigParam {
|
|
2
|
+
name: string;
|
|
3
|
+
envVar: string;
|
|
4
|
+
type: string;
|
|
5
|
+
required: boolean;
|
|
6
|
+
description: string;
|
|
7
|
+
default?: string;
|
|
8
|
+
}
|
|
9
|
+
interface ToolParam {
|
|
10
|
+
name: string;
|
|
11
|
+
type: string;
|
|
12
|
+
optional: boolean;
|
|
13
|
+
description: string;
|
|
14
|
+
}
|
|
15
|
+
interface Tool {
|
|
16
|
+
name: string;
|
|
17
|
+
description: string;
|
|
18
|
+
params: ToolParam[];
|
|
19
|
+
example?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface PhotonMetadata {
|
|
22
|
+
name: string;
|
|
23
|
+
version: string;
|
|
24
|
+
description: string;
|
|
25
|
+
author?: string;
|
|
26
|
+
license?: string;
|
|
27
|
+
repository?: string;
|
|
28
|
+
homepage?: string;
|
|
29
|
+
configParams?: ConfigParam[];
|
|
30
|
+
setupInstructions?: string;
|
|
31
|
+
tools?: Tool[];
|
|
32
|
+
dependencies?: string;
|
|
33
|
+
hash: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Extracts comprehensive documentation from Photon files
|
|
37
|
+
*
|
|
38
|
+
* Parses JSDoc comments, constructor parameters, tool methods, and examples
|
|
39
|
+
* to generate complete documentation metadata.
|
|
40
|
+
*/
|
|
41
|
+
export declare class PhotonDocExtractor {
|
|
42
|
+
private filePath;
|
|
43
|
+
private content;
|
|
44
|
+
private schemaExtractor;
|
|
45
|
+
constructor(filePath: string);
|
|
46
|
+
/**
|
|
47
|
+
* Extract all metadata from the Photon file
|
|
48
|
+
*/
|
|
49
|
+
extractFullMetadata(): Promise<Omit<PhotonMetadata, 'hash'>>;
|
|
50
|
+
/**
|
|
51
|
+
* Extract photon name from filename
|
|
52
|
+
*/
|
|
53
|
+
private extractName;
|
|
54
|
+
/**
|
|
55
|
+
* Extract main description from file-level JSDoc comment
|
|
56
|
+
*/
|
|
57
|
+
private extractDescription;
|
|
58
|
+
/**
|
|
59
|
+
* Extract a specific JSDoc tag value
|
|
60
|
+
*/
|
|
61
|
+
private extractTag;
|
|
62
|
+
/**
|
|
63
|
+
* Extract configuration parameters from constructor
|
|
64
|
+
*/
|
|
65
|
+
private extractConfigParams;
|
|
66
|
+
/**
|
|
67
|
+
* Extract class name
|
|
68
|
+
*/
|
|
69
|
+
private extractClassName;
|
|
70
|
+
/**
|
|
71
|
+
* Extract configuration descriptions from "Configuration:" section
|
|
72
|
+
* Returns a map of parameter name to description
|
|
73
|
+
*/
|
|
74
|
+
private extractConfigDescriptions;
|
|
75
|
+
/**
|
|
76
|
+
* Extract setup instructions from "Configuration:" section in JSDoc
|
|
77
|
+
*/
|
|
78
|
+
private extractSetupInstructions;
|
|
79
|
+
/**
|
|
80
|
+
* Extract tool methods with their documentation
|
|
81
|
+
*/
|
|
82
|
+
private extractTools;
|
|
83
|
+
/**
|
|
84
|
+
* Parse a single tool method from its JSDoc content
|
|
85
|
+
*/
|
|
86
|
+
private parseToolMethodFromJSDoc;
|
|
87
|
+
}
|
|
88
|
+
export {};
|
|
89
|
+
//# sourceMappingURL=photon-doc-extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"photon-doc-extractor.d.ts","sourceRoot":"","sources":["../src/photon-doc-extractor.ts"],"names":[],"mappings":"AAGA,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,IAAI;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,qBAAa,kBAAkB;IAIjB,OAAO,CAAC,QAAQ;IAH5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,eAAe,CAAkB;gBAErB,QAAQ,EAAE,MAAM;IAKpC;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAkBlE;;OAEG;IACH,OAAO,CAAC,WAAW;IAOnB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;IACH,OAAO,CAAC,UAAU;IAMlB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgC3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAmBjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAoBhC;;OAEG;YACW,YAAY;IA8C1B;;OAEG;IACH,OAAO,CAAC,wBAAwB;CAkDjC"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import * as fs from 'fs/promises';
|
|
2
|
+
import { SchemaExtractor } from './schema-extractor.js';
|
|
3
|
+
/**
|
|
4
|
+
* Extracts comprehensive documentation from Photon files
|
|
5
|
+
*
|
|
6
|
+
* Parses JSDoc comments, constructor parameters, tool methods, and examples
|
|
7
|
+
* to generate complete documentation metadata.
|
|
8
|
+
*/
|
|
9
|
+
export class PhotonDocExtractor {
|
|
10
|
+
filePath;
|
|
11
|
+
content;
|
|
12
|
+
schemaExtractor;
|
|
13
|
+
constructor(filePath) {
|
|
14
|
+
this.filePath = filePath;
|
|
15
|
+
this.content = '';
|
|
16
|
+
this.schemaExtractor = new SchemaExtractor();
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Extract all metadata from the Photon file
|
|
20
|
+
*/
|
|
21
|
+
async extractFullMetadata() {
|
|
22
|
+
this.content = await fs.readFile(this.filePath, 'utf-8');
|
|
23
|
+
return {
|
|
24
|
+
name: this.extractName(),
|
|
25
|
+
version: this.extractTag('version') || '1.0.0',
|
|
26
|
+
description: this.extractDescription(),
|
|
27
|
+
author: this.extractTag('author'),
|
|
28
|
+
license: this.extractTag('license'),
|
|
29
|
+
repository: this.extractTag('repository'),
|
|
30
|
+
homepage: this.extractTag('homepage'),
|
|
31
|
+
configParams: this.extractConfigParams(),
|
|
32
|
+
setupInstructions: this.extractSetupInstructions(),
|
|
33
|
+
tools: await this.extractTools(),
|
|
34
|
+
dependencies: this.extractTag('dependencies'),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Extract photon name from filename
|
|
39
|
+
*/
|
|
40
|
+
extractName() {
|
|
41
|
+
return this.filePath
|
|
42
|
+
.split(/[\/\\]/)
|
|
43
|
+
.pop()
|
|
44
|
+
.replace('.photon.ts', '');
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Extract main description from file-level JSDoc comment
|
|
48
|
+
*/
|
|
49
|
+
extractDescription() {
|
|
50
|
+
// Match first paragraph of file-level comment
|
|
51
|
+
const match = this.content.match(/\/\*\*\s*\n\s*\*\s*(.+?)\s*\*\s*\n/s);
|
|
52
|
+
if (match) {
|
|
53
|
+
return match[1].replace(/\s*\*\s*/g, ' ').trim();
|
|
54
|
+
}
|
|
55
|
+
return '';
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Extract a specific JSDoc tag value
|
|
59
|
+
*/
|
|
60
|
+
extractTag(tagName) {
|
|
61
|
+
const regex = new RegExp(`@${tagName}\\s+(.+?)(?=\\n|$)`, 'm');
|
|
62
|
+
const match = this.content.match(regex);
|
|
63
|
+
return match ? match[1].trim() : undefined;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Extract configuration parameters from constructor
|
|
67
|
+
*/
|
|
68
|
+
extractConfigParams() {
|
|
69
|
+
const params = this.schemaExtractor.extractConstructorParams(this.content);
|
|
70
|
+
const className = this.extractClassName();
|
|
71
|
+
if (!params || params.length === 0) {
|
|
72
|
+
return [];
|
|
73
|
+
}
|
|
74
|
+
// Extract configuration descriptions from class JSDoc
|
|
75
|
+
const configDescriptions = this.extractConfigDescriptions();
|
|
76
|
+
return params.map((param) => {
|
|
77
|
+
// Convert to environment variable format
|
|
78
|
+
// ClassName -> class-name -> CLASS_NAME_PARAM_NAME
|
|
79
|
+
const kebabCase = className.replace(/([A-Z])/g, '-$1').toLowerCase().replace(/^-/, '');
|
|
80
|
+
const envPrefix = kebabCase.toUpperCase().replace(/-/g, '_');
|
|
81
|
+
const envVar = `${envPrefix}_${param.name.toUpperCase()}`;
|
|
82
|
+
// Find description from Configuration section
|
|
83
|
+
const description = configDescriptions[param.name] || 'No description available';
|
|
84
|
+
return {
|
|
85
|
+
name: param.name,
|
|
86
|
+
envVar,
|
|
87
|
+
type: param.type || 'string',
|
|
88
|
+
required: !param.isOptional,
|
|
89
|
+
description,
|
|
90
|
+
default: param.hasDefault ? param.defaultValue : undefined,
|
|
91
|
+
};
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Extract class name
|
|
96
|
+
*/
|
|
97
|
+
extractClassName() {
|
|
98
|
+
const match = this.content.match(/export\s+default\s+class\s+(\w+)/);
|
|
99
|
+
return match ? match[1] : this.extractName();
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Extract configuration descriptions from "Configuration:" section
|
|
103
|
+
* Returns a map of parameter name to description
|
|
104
|
+
*/
|
|
105
|
+
extractConfigDescriptions() {
|
|
106
|
+
const setupText = this.extractSetupInstructions();
|
|
107
|
+
if (!setupText)
|
|
108
|
+
return {};
|
|
109
|
+
const descriptions = {};
|
|
110
|
+
// Parse lines like "- paramName: Description text"
|
|
111
|
+
const lines = setupText.split('\n');
|
|
112
|
+
for (const line of lines) {
|
|
113
|
+
const match = line.match(/^-?\s*(\w+):\s*(.+)$/);
|
|
114
|
+
if (match) {
|
|
115
|
+
const [, paramName, description] = match;
|
|
116
|
+
descriptions[paramName] = description.trim();
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return descriptions;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Extract setup instructions from "Configuration:" section in JSDoc
|
|
123
|
+
*/
|
|
124
|
+
extractSetupInstructions() {
|
|
125
|
+
// Look for configuration section in class-level JSDoc
|
|
126
|
+
const jsdocMatch = this.content.match(/\/\*\*[\s\S]*?\*\//);
|
|
127
|
+
if (!jsdocMatch)
|
|
128
|
+
return undefined;
|
|
129
|
+
const jsdoc = jsdocMatch[0];
|
|
130
|
+
// Extract configuration section
|
|
131
|
+
const configMatch = jsdoc.match(/Configuration:\s*([\s\S]*?)(?=\n\s*\*\s*@|\n\s*\*\/)/);
|
|
132
|
+
if (!configMatch)
|
|
133
|
+
return undefined;
|
|
134
|
+
// Clean up the configuration text
|
|
135
|
+
return configMatch[1]
|
|
136
|
+
.split('\n')
|
|
137
|
+
.map(line => line.replace(/^\s*\*\s?/, '').trim())
|
|
138
|
+
.filter(line => line.length > 0)
|
|
139
|
+
.join('\n')
|
|
140
|
+
.trim();
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Extract tool methods with their documentation
|
|
144
|
+
*/
|
|
145
|
+
async extractTools() {
|
|
146
|
+
const tools = [];
|
|
147
|
+
// First, find all async methods
|
|
148
|
+
const methodRegex = /async\s+(\w+)\s*\([^)]*\)/g;
|
|
149
|
+
let match;
|
|
150
|
+
while ((match = methodRegex.exec(this.content)) !== null) {
|
|
151
|
+
const methodName = match[1];
|
|
152
|
+
const methodIndex = match.index;
|
|
153
|
+
// Skip private methods (starting with _) and lifecycle methods
|
|
154
|
+
if (methodName.startsWith('_') ||
|
|
155
|
+
methodName === 'onInitialize' ||
|
|
156
|
+
methodName === 'onShutdown') {
|
|
157
|
+
continue;
|
|
158
|
+
}
|
|
159
|
+
// Extract JSDoc comment immediately before this method
|
|
160
|
+
// Look backwards from method position to find the LAST JSDoc comment
|
|
161
|
+
const precedingContent = this.content.substring(0, methodIndex);
|
|
162
|
+
// Find the last /** before the method
|
|
163
|
+
const lastJSDocStart = precedingContent.lastIndexOf('/**');
|
|
164
|
+
if (lastJSDocStart === -1) {
|
|
165
|
+
continue; // Skip methods without JSDoc
|
|
166
|
+
}
|
|
167
|
+
// Extract from last /** to the method
|
|
168
|
+
const jsdocSection = precedingContent.substring(lastJSDocStart);
|
|
169
|
+
const jsdocMatch = jsdocSection.match(/\/\*\*([\s\S]*?)\*\/\s*$/);
|
|
170
|
+
if (!jsdocMatch) {
|
|
171
|
+
continue; // Skip if JSDoc is malformed
|
|
172
|
+
}
|
|
173
|
+
const jsdoc = jsdocMatch[1];
|
|
174
|
+
const tool = this.parseToolMethodFromJSDoc(jsdoc, methodName);
|
|
175
|
+
if (tool) {
|
|
176
|
+
tools.push(tool);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
return tools;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Parse a single tool method from its JSDoc content
|
|
183
|
+
*/
|
|
184
|
+
parseToolMethodFromJSDoc(jsdoc, methodName) {
|
|
185
|
+
// Extract method description (first line(s) before @param)
|
|
186
|
+
const descMatch = jsdoc.match(/^\s*\*\s*(.+?)(?=\n\s*\*\s*@|\n\s*$)/s);
|
|
187
|
+
const description = descMatch
|
|
188
|
+
? descMatch[1]
|
|
189
|
+
.split('\n')
|
|
190
|
+
.map(line => line.replace(/^\s*\*\s?/, '').trim())
|
|
191
|
+
.join(' ')
|
|
192
|
+
.trim()
|
|
193
|
+
: '';
|
|
194
|
+
// Extract parameters from JSDoc @param tags
|
|
195
|
+
const params = [];
|
|
196
|
+
const paramRegex = /@param\s+(\w+)\s+(.+?)(?=\n\s*\*\s*@|\n\s*\*\/|\n\s*$)/gs;
|
|
197
|
+
let paramMatch;
|
|
198
|
+
while ((paramMatch = paramRegex.exec(jsdoc)) !== null) {
|
|
199
|
+
const paramName = paramMatch[1];
|
|
200
|
+
const paramDesc = paramMatch[2].trim();
|
|
201
|
+
// Try to extract type and optional info from description
|
|
202
|
+
// Format: "Param description (optional)" or "Param description (default: value)"
|
|
203
|
+
const optional = /\(optional\)/i.test(paramDesc) || /\(default:/i.test(paramDesc);
|
|
204
|
+
params.push({
|
|
205
|
+
name: paramName,
|
|
206
|
+
type: 'any', // Type extraction from JSDoc would need more parsing
|
|
207
|
+
optional,
|
|
208
|
+
description: paramDesc.replace(/\(optional\)/gi, '').replace(/\(default:.*?\)/gi, '').trim(),
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
// Look for example in JSDoc or method body
|
|
212
|
+
const exampleMatch = jsdoc.match(/@example\s+([\s\S]+?)(?=\n\s*\*\s*@|\n\s*\*\/)/);
|
|
213
|
+
const example = exampleMatch
|
|
214
|
+
? exampleMatch[1]
|
|
215
|
+
.split('\n')
|
|
216
|
+
.map(line => line.replace(/^\s*\*\s?/, ''))
|
|
217
|
+
.join('\n')
|
|
218
|
+
.trim()
|
|
219
|
+
: undefined;
|
|
220
|
+
return {
|
|
221
|
+
name: methodName,
|
|
222
|
+
description,
|
|
223
|
+
params,
|
|
224
|
+
example,
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
//# sourceMappingURL=photon-doc-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"photon-doc-extractor.js","sourceRoot":"","sources":["../src/photon-doc-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Syncs README.md with auto-generated photon list while preserving user content
|
|
3
|
+
*
|
|
4
|
+
* Uses HTML comment markers to identify auto-generated sections.
|
|
5
|
+
* Content outside markers is preserved on each sync.
|
|
6
|
+
*/
|
|
7
|
+
export declare class ReadmeSyncer {
|
|
8
|
+
private readmePath;
|
|
9
|
+
constructor(readmePath: string);
|
|
10
|
+
/**
|
|
11
|
+
* Sync README with generated content
|
|
12
|
+
*
|
|
13
|
+
* @param generatedContent - The auto-generated markdown to insert
|
|
14
|
+
* @returns true if README was updated, false if created new
|
|
15
|
+
*/
|
|
16
|
+
sync(generatedContent: string): Promise<boolean>;
|
|
17
|
+
/**
|
|
18
|
+
* Replace content between markers, preserving everything else
|
|
19
|
+
*/
|
|
20
|
+
private replaceMarkedSection;
|
|
21
|
+
/**
|
|
22
|
+
* Check if README has marked section
|
|
23
|
+
*/
|
|
24
|
+
hasMarkers(): Promise<boolean>;
|
|
25
|
+
/**
|
|
26
|
+
* Extract user content (everything outside markers)
|
|
27
|
+
*/
|
|
28
|
+
extractUserContent(): Promise<{
|
|
29
|
+
before: string;
|
|
30
|
+
after: string;
|
|
31
|
+
} | null>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=readme-syncer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readme-syncer.d.ts","sourceRoot":"","sources":["../src/readme-syncer.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,MAAM;IAEtC;;;;;OAKG;IACG,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBtD;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkC5B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IASpC;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAkB9E"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { existsSync } from 'fs';
|
|
2
|
+
import * as fs from 'fs/promises';
|
|
3
|
+
const MARKER_START = '<!-- PHOTON_MARKETPLACE_START -->';
|
|
4
|
+
const MARKER_END = '<!-- PHOTON_MARKETPLACE_END -->';
|
|
5
|
+
/**
|
|
6
|
+
* Syncs README.md with auto-generated photon list while preserving user content
|
|
7
|
+
*
|
|
8
|
+
* Uses HTML comment markers to identify auto-generated sections.
|
|
9
|
+
* Content outside markers is preserved on each sync.
|
|
10
|
+
*/
|
|
11
|
+
export class ReadmeSyncer {
|
|
12
|
+
readmePath;
|
|
13
|
+
constructor(readmePath) {
|
|
14
|
+
this.readmePath = readmePath;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Sync README with generated content
|
|
18
|
+
*
|
|
19
|
+
* @param generatedContent - The auto-generated markdown to insert
|
|
20
|
+
* @returns true if README was updated, false if created new
|
|
21
|
+
*/
|
|
22
|
+
async sync(generatedContent) {
|
|
23
|
+
const markedContent = `${MARKER_START}\n${generatedContent}\n${MARKER_END}`;
|
|
24
|
+
if (!existsSync(this.readmePath)) {
|
|
25
|
+
// No existing README - create new one
|
|
26
|
+
await fs.writeFile(this.readmePath, markedContent, 'utf-8');
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
// README exists - preserve user content
|
|
30
|
+
const existing = await fs.readFile(this.readmePath, 'utf-8');
|
|
31
|
+
const updated = this.replaceMarkedSection(existing, generatedContent);
|
|
32
|
+
await fs.writeFile(this.readmePath, updated, 'utf-8');
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Replace content between markers, preserving everything else
|
|
37
|
+
*/
|
|
38
|
+
replaceMarkedSection(existing, newContent) {
|
|
39
|
+
const startIdx = existing.indexOf(MARKER_START);
|
|
40
|
+
const endIdx = existing.indexOf(MARKER_END);
|
|
41
|
+
if (startIdx === -1 || endIdx === -1) {
|
|
42
|
+
// Markers not found - append at end with proper spacing
|
|
43
|
+
const separator = existing.endsWith('\n\n') ? '' : existing.endsWith('\n') ? '\n' : '\n\n';
|
|
44
|
+
return existing + separator + MARKER_START + '\n' + newContent + '\n' + MARKER_END + '\n';
|
|
45
|
+
}
|
|
46
|
+
// Extract content before and after markers
|
|
47
|
+
const before = existing.substring(0, startIdx);
|
|
48
|
+
const after = existing.substring(endIdx + MARKER_END.length);
|
|
49
|
+
// Ensure proper spacing
|
|
50
|
+
const beforeTrimmed = before.trimEnd();
|
|
51
|
+
const afterTrimmed = after.trimStart();
|
|
52
|
+
const beforeSeparator = beforeTrimmed ? '\n\n' : '';
|
|
53
|
+
const afterSeparator = afterTrimmed ? '\n\n' : '\n';
|
|
54
|
+
return (beforeTrimmed +
|
|
55
|
+
beforeSeparator +
|
|
56
|
+
MARKER_START +
|
|
57
|
+
'\n' +
|
|
58
|
+
newContent +
|
|
59
|
+
'\n' +
|
|
60
|
+
MARKER_END +
|
|
61
|
+
afterSeparator +
|
|
62
|
+
afterTrimmed);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Check if README has marked section
|
|
66
|
+
*/
|
|
67
|
+
async hasMarkers() {
|
|
68
|
+
if (!existsSync(this.readmePath)) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
const content = await fs.readFile(this.readmePath, 'utf-8');
|
|
72
|
+
return content.includes(MARKER_START) && content.includes(MARKER_END);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Extract user content (everything outside markers)
|
|
76
|
+
*/
|
|
77
|
+
async extractUserContent() {
|
|
78
|
+
if (!existsSync(this.readmePath)) {
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
const content = await fs.readFile(this.readmePath, 'utf-8');
|
|
82
|
+
const startIdx = content.indexOf(MARKER_START);
|
|
83
|
+
const endIdx = content.indexOf(MARKER_END);
|
|
84
|
+
if (startIdx === -1 || endIdx === -1) {
|
|
85
|
+
return { before: content, after: '' };
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
before: content.substring(0, startIdx).trimEnd(),
|
|
89
|
+
after: content.substring(endIdx + MARKER_END.length).trimStart(),
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=readme-syncer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readme-syncer.js","sourceRoot":"","sources":["../src/readme-syncer.ts"],"names":[],"mappings":"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"}
|