@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.
Files changed (76) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +952 -0
  3. package/dist/base.d.ts +58 -0
  4. package/dist/base.d.ts.map +1 -0
  5. package/dist/base.js +92 -0
  6. package/dist/base.js.map +1 -0
  7. package/dist/cli.d.ts +8 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +1441 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/dependency-manager.d.ts +49 -0
  12. package/dist/dependency-manager.d.ts.map +1 -0
  13. package/dist/dependency-manager.js +165 -0
  14. package/dist/dependency-manager.js.map +1 -0
  15. package/dist/loader.d.ts +86 -0
  16. package/dist/loader.d.ts.map +1 -0
  17. package/dist/loader.js +612 -0
  18. package/dist/loader.js.map +1 -0
  19. package/dist/marketplace-manager.d.ts +261 -0
  20. package/dist/marketplace-manager.d.ts.map +1 -0
  21. package/dist/marketplace-manager.js +767 -0
  22. package/dist/marketplace-manager.js.map +1 -0
  23. package/dist/path-resolver.d.ts +21 -0
  24. package/dist/path-resolver.d.ts.map +1 -0
  25. package/dist/path-resolver.js +71 -0
  26. package/dist/path-resolver.js.map +1 -0
  27. package/dist/photon-doc-extractor.d.ts +89 -0
  28. package/dist/photon-doc-extractor.d.ts.map +1 -0
  29. package/dist/photon-doc-extractor.js +228 -0
  30. package/dist/photon-doc-extractor.js.map +1 -0
  31. package/dist/readme-syncer.d.ts +33 -0
  32. package/dist/readme-syncer.d.ts.map +1 -0
  33. package/dist/readme-syncer.js +93 -0
  34. package/dist/readme-syncer.js.map +1 -0
  35. package/dist/registry-manager.d.ts +76 -0
  36. package/dist/registry-manager.d.ts.map +1 -0
  37. package/dist/registry-manager.js +220 -0
  38. package/dist/registry-manager.js.map +1 -0
  39. package/dist/schema-extractor.d.ts +83 -0
  40. package/dist/schema-extractor.d.ts.map +1 -0
  41. package/dist/schema-extractor.js +396 -0
  42. package/dist/schema-extractor.js.map +1 -0
  43. package/dist/security-scanner.d.ts +52 -0
  44. package/dist/security-scanner.d.ts.map +1 -0
  45. package/dist/security-scanner.js +172 -0
  46. package/dist/security-scanner.js.map +1 -0
  47. package/dist/server.d.ts +73 -0
  48. package/dist/server.d.ts.map +1 -0
  49. package/dist/server.js +474 -0
  50. package/dist/server.js.map +1 -0
  51. package/dist/template-manager.d.ts +56 -0
  52. package/dist/template-manager.d.ts.map +1 -0
  53. package/dist/template-manager.js +509 -0
  54. package/dist/template-manager.js.map +1 -0
  55. package/dist/test-client.d.ts +52 -0
  56. package/dist/test-client.d.ts.map +1 -0
  57. package/dist/test-client.js +168 -0
  58. package/dist/test-client.js.map +1 -0
  59. package/dist/test-marketplace-sources.d.ts +5 -0
  60. package/dist/test-marketplace-sources.d.ts.map +1 -0
  61. package/dist/test-marketplace-sources.js +53 -0
  62. package/dist/test-marketplace-sources.js.map +1 -0
  63. package/dist/types.d.ts +108 -0
  64. package/dist/types.d.ts.map +1 -0
  65. package/dist/types.js +12 -0
  66. package/dist/types.js.map +1 -0
  67. package/dist/version-checker.d.ts +48 -0
  68. package/dist/version-checker.d.ts.map +1 -0
  69. package/dist/version-checker.js +128 -0
  70. package/dist/version-checker.js.map +1 -0
  71. package/dist/watcher.d.ts +26 -0
  72. package/dist/watcher.d.ts.map +1 -0
  73. package/dist/watcher.js +72 -0
  74. package/dist/watcher.js.map +1 -0
  75. package/package.json +79 -0
  76. 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":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAElC,MAAM,YAAY,GAAG,mCAAmC,CAAC;AACzD,MAAM,UAAU,GAAG,iCAAiC,CAAC;AAErD;;;;;GAKG;AACH,MAAM,OAAO,YAAY;IACH;IAApB,YAAoB,UAAkB;QAAlB,eAAU,GAAV,UAAU,CAAQ;IAAG,CAAC;IAE1C;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,gBAAwB;QACjC,MAAM,aAAa,GAAG,GAAG,YAAY,KAAK,gBAAgB,KAAK,UAAU,EAAE,CAAC;QAE5E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,sCAAsC;YACtC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;YAC5D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,wCAAwC;QACxC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAEtE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,QAAgB,EAAE,UAAkB;QAC/D,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE5C,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YACrC,wDAAwD;YACxD,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;YAC3F,OAAO,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG,IAAI,GAAG,UAAU,GAAG,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC;QAC5F,CAAC;QAED,2CAA2C;QAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAE7D,wBAAwB;QACxB,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACvC,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QAEvC,MAAM,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAEpD,OAAO,CACL,aAAa;YACb,eAAe;YACf,YAAY;YACZ,IAAI;YACJ,UAAU;YACV,IAAI;YACJ,UAAU;YACV,cAAc;YACd,YAAY,CACb,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC5D,OAAO,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB;QACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE3C,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YACrC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACxC,CAAC;QAED,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,OAAO,EAAE;YAChD,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE;SACjE,CAAC;IACJ,CAAC;CACF"}