@kernel.chat/kbot 3.50.0 → 3.52.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 (84) hide show
  1. package/README.md +43 -9
  2. package/dist/agent-protocol.test.d.ts +2 -0
  3. package/dist/agent-protocol.test.d.ts.map +1 -0
  4. package/dist/agent-protocol.test.js +730 -0
  5. package/dist/agent-protocol.test.js.map +1 -0
  6. package/dist/agent.d.ts.map +1 -1
  7. package/dist/agent.js +34 -10
  8. package/dist/agent.js.map +1 -1
  9. package/dist/auth.js +3 -3
  10. package/dist/auth.js.map +1 -1
  11. package/dist/bench.d.ts +64 -0
  12. package/dist/bench.d.ts.map +1 -0
  13. package/dist/bench.js +973 -0
  14. package/dist/bench.js.map +1 -0
  15. package/dist/cli.js +144 -29
  16. package/dist/cli.js.map +1 -1
  17. package/dist/cloud-agent.d.ts +77 -0
  18. package/dist/cloud-agent.d.ts.map +1 -0
  19. package/dist/cloud-agent.js +743 -0
  20. package/dist/cloud-agent.js.map +1 -0
  21. package/dist/context.test.d.ts +2 -0
  22. package/dist/context.test.d.ts.map +1 -0
  23. package/dist/context.test.js +561 -0
  24. package/dist/context.test.js.map +1 -0
  25. package/dist/evolution.d.ts.map +1 -1
  26. package/dist/evolution.js +4 -1
  27. package/dist/evolution.js.map +1 -1
  28. package/dist/github-release.d.ts +61 -0
  29. package/dist/github-release.d.ts.map +1 -0
  30. package/dist/github-release.js +451 -0
  31. package/dist/github-release.js.map +1 -0
  32. package/dist/graph-memory.test.d.ts +2 -0
  33. package/dist/graph-memory.test.d.ts.map +1 -0
  34. package/dist/graph-memory.test.js +946 -0
  35. package/dist/graph-memory.test.js.map +1 -0
  36. package/dist/init-science.d.ts +43 -0
  37. package/dist/init-science.d.ts.map +1 -0
  38. package/dist/init-science.js +477 -0
  39. package/dist/init-science.js.map +1 -0
  40. package/dist/lab.d.ts +45 -0
  41. package/dist/lab.d.ts.map +1 -0
  42. package/dist/lab.js +1020 -0
  43. package/dist/lab.js.map +1 -0
  44. package/dist/lsp-deep.d.ts +101 -0
  45. package/dist/lsp-deep.d.ts.map +1 -0
  46. package/dist/lsp-deep.js +689 -0
  47. package/dist/lsp-deep.js.map +1 -0
  48. package/dist/memory.test.d.ts +2 -0
  49. package/dist/memory.test.d.ts.map +1 -0
  50. package/dist/memory.test.js +369 -0
  51. package/dist/memory.test.js.map +1 -0
  52. package/dist/multi-session.d.ts +164 -0
  53. package/dist/multi-session.d.ts.map +1 -0
  54. package/dist/multi-session.js +885 -0
  55. package/dist/multi-session.js.map +1 -0
  56. package/dist/self-eval.d.ts.map +1 -1
  57. package/dist/self-eval.js +5 -2
  58. package/dist/self-eval.js.map +1 -1
  59. package/dist/streaming.d.ts.map +1 -1
  60. package/dist/streaming.js +0 -1
  61. package/dist/streaming.js.map +1 -1
  62. package/dist/teach.d.ts +136 -0
  63. package/dist/teach.d.ts.map +1 -0
  64. package/dist/teach.js +915 -0
  65. package/dist/teach.js.map +1 -0
  66. package/dist/telemetry.d.ts +1 -1
  67. package/dist/telemetry.d.ts.map +1 -1
  68. package/dist/telemetry.js.map +1 -1
  69. package/dist/tools/ableton.d.ts.map +1 -1
  70. package/dist/tools/ableton.js +255 -1
  71. package/dist/tools/ableton.js.map +1 -1
  72. package/dist/tools/browser-agent.js +2 -2
  73. package/dist/tools/browser-agent.js.map +1 -1
  74. package/dist/tools/forge.d.ts.map +1 -1
  75. package/dist/tools/forge.js +15 -26
  76. package/dist/tools/forge.js.map +1 -1
  77. package/dist/tools/git.d.ts.map +1 -1
  78. package/dist/tools/git.js +10 -7
  79. package/dist/tools/git.js.map +1 -1
  80. package/dist/voice-realtime.d.ts +54 -0
  81. package/dist/voice-realtime.d.ts.map +1 -0
  82. package/dist/voice-realtime.js +805 -0
  83. package/dist/voice-realtime.js.map +1 -0
  84. package/package.json +10 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph-memory.test.js","sourceRoot":"","sources":["../src/graph-memory.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ export interface ScienceTemplate {
2
+ /** Unique identifier */
3
+ id: string;
4
+ /** Human-readable name */
5
+ name: string;
6
+ /** Short description of the domain */
7
+ description: string;
8
+ /** File patterns that indicate this template (globs) */
9
+ detectors: string[];
10
+ /** Python/R packages that indicate this template */
11
+ packages: string[];
12
+ /** kbot tools to pre-configure */
13
+ tools: string[];
14
+ /** Recommended specialist agent */
15
+ agent: string;
16
+ /** Auto-configure notebook integration */
17
+ notebookSetup?: boolean;
18
+ /** Common data formats to handle */
19
+ dataFormats?: string[];
20
+ }
21
+ export declare const SCIENCE_TEMPLATES: ScienceTemplate[];
22
+ /**
23
+ * Detect if the project is a scientific project and return the best-matching template.
24
+ *
25
+ * Returns `null` if no science template scores above the threshold.
26
+ * Requires at least 2 package matches OR 1 file pattern match to activate.
27
+ */
28
+ export declare function detectScienceProject(projectDir: string): ScienceTemplate | null;
29
+ /**
30
+ * Apply a science template to a project directory.
31
+ *
32
+ * Creates a `.kbot/science.json` config with the template settings,
33
+ * pre-configures notebook integration if needed, and writes a
34
+ * `.kbot/tools.json` with the recommended tool list.
35
+ */
36
+ export declare function applyScienceTemplate(template: ScienceTemplate, projectDir: string): void;
37
+ /** List all available science templates */
38
+ export declare function listScienceTemplates(): ScienceTemplate[];
39
+ /**
40
+ * Format a science template detection result for the init report.
41
+ */
42
+ export declare function formatScienceReport(template: ScienceTemplate): string;
43
+ //# sourceMappingURL=init-science.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-science.d.ts","sourceRoot":"","sources":["../src/init-science.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,wDAAwD;IACxD,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,kCAAkC;IAClC,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,0CAA0C;IAC1C,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAID,eAAO,MAAM,iBAAiB,EAAE,eAAe,EAiL9C,CAAA;AA4KD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAoB/E;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAwExF;AAED,2CAA2C;AAC3C,wBAAgB,oBAAoB,IAAI,eAAe,EAAE,CAExD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAarE"}
@@ -0,0 +1,477 @@
1
+ // kbot init — Science project templates
2
+ //
3
+ // When `kbot init` detects a scientific project (Python with numpy/scipy,
4
+ // R, Jupyter notebooks, etc.), this module selects and applies the right
5
+ // template: pre-configured tools, recommended specialist agent, notebook
6
+ // integration, and data format handling.
7
+ //
8
+ // Usage: called automatically from initProject() when science signals are found.
9
+ import { existsSync, readFileSync, writeFileSync, mkdirSync, readdirSync } from 'node:fs';
10
+ import { join } from 'node:path';
11
+ // ── Templates ──
12
+ export const SCIENCE_TEMPLATES = [
13
+ {
14
+ id: 'data-science',
15
+ name: 'Data Science',
16
+ description: 'Data analysis, machine learning, and visualization with Python',
17
+ detectors: ['*.csv', '*.parquet', '*.feather', 'notebooks/*.ipynb', 'data/**'],
18
+ packages: [
19
+ 'pandas', 'scikit-learn', 'sklearn', 'matplotlib', 'seaborn',
20
+ 'plotly', 'bokeh', 'altair', 'polars', 'dask', 'xgboost',
21
+ 'lightgbm', 'catboost', 'tensorflow', 'torch', 'keras',
22
+ ],
23
+ tools: [
24
+ 'csv_read', 'csv_write', 'csv_query', 'data_transform', 'data_query',
25
+ 'render_chart', 'viz_codegen', 'statistical_analysis', 'regression_analysis',
26
+ 'dimensionality_reduce', 'notebook_create', 'notebook_edit',
27
+ ],
28
+ agent: 'quant',
29
+ notebookSetup: true,
30
+ dataFormats: ['csv', 'parquet', 'feather', 'json', 'xlsx', 'hdf5'],
31
+ },
32
+ {
33
+ id: 'bioinformatics',
34
+ name: 'Bioinformatics',
35
+ description: 'Genomics, proteomics, and computational biology',
36
+ detectors: ['*.fasta', '*.fastq', '*.bam', '*.vcf', '*.gff', '*.pdb', '*.sam'],
37
+ packages: [
38
+ 'biopython', 'Bio', 'pysam', 'pyvcf', 'scanpy', 'anndata',
39
+ 'bioconductor', 'deseq2', 'edger', 'seurat', 'cellranger',
40
+ 'samtools', 'bcftools', 'blast', 'hmmer',
41
+ ],
42
+ tools: [
43
+ 'blast_search', 'gene_lookup', 'protein_search', 'protein_structure',
44
+ 'genomic_analysis', 'sequence_tools', 'pathway_search', 'taxonomy_lookup',
45
+ 'pubmed_search', 'notebook_create', 'notebook_edit',
46
+ ],
47
+ agent: 'quant',
48
+ notebookSetup: true,
49
+ dataFormats: ['fasta', 'fastq', 'bam', 'vcf', 'gff3', 'pdb', 'bed'],
50
+ },
51
+ {
52
+ id: 'physics-engineering',
53
+ name: 'Physics / Engineering',
54
+ description: 'Numerical simulation, signal processing, and engineering analysis',
55
+ detectors: ['*.mat', '*.hdf5', '*.h5', '*.npy', '*.npz'],
56
+ packages: [
57
+ 'scipy', 'sympy', 'numpy', 'numba', 'fenics', 'fipy', 'pint',
58
+ 'astropy', 'lmfit', 'emcee', 'pymc', 'openmdao', 'cantera',
59
+ 'pyvista', 'vtk', 'gmsh',
60
+ ],
61
+ tools: [
62
+ 'formula_solve', 'symbolic_compute', 'differential_eq', 'fourier_analysis',
63
+ 'signal_process', 'optimization_solve', 'matrix_operations', 'unit_convert',
64
+ 'physical_constants', 'beam_analysis', 'circuit_analyze', 'electromagnetic_calc',
65
+ 'fluid_dynamics', 'thermodynamics_data', 'notebook_create', 'notebook_edit',
66
+ ],
67
+ agent: 'quant',
68
+ notebookSetup: true,
69
+ dataFormats: ['hdf5', 'mat', 'npy', 'npz', 'csv', 'fits'],
70
+ },
71
+ {
72
+ id: 'chemistry',
73
+ name: 'Chemistry',
74
+ description: 'Computational chemistry, cheminformatics, and molecular modeling',
75
+ detectors: ['*.mol', '*.mol2', '*.sdf', '*.xyz', '*.cif', '*.pdb'],
76
+ packages: [
77
+ 'rdkit', 'openbabel', 'pymatgen', 'ase', 'cclib', 'psi4',
78
+ 'mdanalysis', 'nglview', 'py3Dmol', 'chempy', 'mendeleev',
79
+ ],
80
+ tools: [
81
+ 'compound_search', 'compound_properties', 'reaction_lookup', 'element_info',
82
+ 'stoichiometry_calc', 'crystal_structure', 'material_properties',
83
+ 'spectroscopy_lookup', 'chemical_safety', 'notebook_create', 'notebook_edit',
84
+ ],
85
+ agent: 'quant',
86
+ notebookSetup: true,
87
+ dataFormats: ['mol', 'mol2', 'sdf', 'xyz', 'cif', 'pdb', 'cube'],
88
+ },
89
+ {
90
+ id: 'neuroscience',
91
+ name: 'Neuroscience',
92
+ description: 'Brain imaging, EEG/MEG analysis, and computational neuroscience',
93
+ detectors: ['*.edf', '*.bdf', '*.set', '*.fif', '*.nii', '*.nii.gz'],
94
+ packages: [
95
+ 'mne', 'nilearn', 'nibabel', 'brian2', 'neo', 'elephant',
96
+ 'neuron', 'nest', 'pynwb', 'allensdk', 'dipy', 'nipype',
97
+ 'psychopy', 'expyriment',
98
+ ],
99
+ tools: [
100
+ 'eeg_analyze', 'brain_atlas', 'brain_predict', 'neuroimaging_coords',
101
+ 'connectome_query', 'neurotransmitter_lookup', 'neural_network_bio',
102
+ 'cognitive_model', 'cognitive_task_design', 'psychophysics_calc',
103
+ 'notebook_create', 'notebook_edit',
104
+ ],
105
+ agent: 'quant',
106
+ notebookSetup: true,
107
+ dataFormats: ['edf', 'bdf', 'fif', 'nii', 'nii.gz', 'nwb', 'set'],
108
+ },
109
+ {
110
+ id: 'climate-earth',
111
+ name: 'Climate / Earth Science',
112
+ description: 'Climate modeling, geospatial analysis, and environmental data',
113
+ detectors: ['*.nc', '*.nc4', '*.grib', '*.grib2', '*.tif', '*.geotiff', '*.shp'],
114
+ packages: [
115
+ 'xarray', 'netCDF4', 'cartopy', 'rasterio', 'geopandas', 'shapely',
116
+ 'fiona', 'pyproj', 'iris', 'cfgrib', 'metpy', 'wrf-python',
117
+ 'salem', 'regionmask', 'verde',
118
+ ],
119
+ tools: [
120
+ 'climate_data', 'ocean_data', 'earthquake_query', 'geological_query',
121
+ 'satellite_imagery', 'soil_data', 'water_resources', 'volcano_monitor',
122
+ 'environmental_assessment', 'biodiversity_index', 'ecology_data',
123
+ 'notebook_create', 'notebook_edit',
124
+ ],
125
+ agent: 'quant',
126
+ notebookSetup: true,
127
+ dataFormats: ['nc', 'nc4', 'grib', 'geotiff', 'shp', 'geojson', 'zarr'],
128
+ },
129
+ {
130
+ id: 'social-science',
131
+ name: 'Social Science',
132
+ description: 'Statistical modeling, network analysis, and survey research',
133
+ detectors: ['*.sav', '*.dta', '*.sas7bdat', '*.por'],
134
+ packages: [
135
+ 'statsmodels', 'networkx', 'igraph', 'pymc', 'arviz', 'lifelines',
136
+ 'linearmodels', 'pingouin', 'factor_analyzer', 'semopy',
137
+ 'textblob', 'nltk', 'spacy', 'gensim',
138
+ ],
139
+ tools: [
140
+ 'statistical_analysis', 'regression_analysis', 'hypothesis_test',
141
+ 'bayesian_inference', 'causal_inference', 'survival_analysis',
142
+ 'social_network_analyze', 'sentiment_analyze', 'discourse_analyze',
143
+ 'survey_design', 'demographic_model', 'inequality_metrics',
144
+ 'effect_size_calc', 'power_analysis', 'notebook_create', 'notebook_edit',
145
+ ],
146
+ agent: 'quant',
147
+ notebookSetup: true,
148
+ dataFormats: ['csv', 'sav', 'dta', 'xlsx', 'json', 'sas7bdat'],
149
+ },
150
+ {
151
+ id: 'r-statistical',
152
+ name: 'R Statistical',
153
+ description: 'Statistical computing and graphics with R',
154
+ detectors: ['*.R', '*.r', '*.Rmd', '*.rmd', '*.Rproj', 'DESCRIPTION', 'NAMESPACE'],
155
+ packages: [
156
+ 'tidyverse', 'ggplot2', 'dplyr', 'tidyr', 'readr', 'purrr',
157
+ 'shiny', 'rmarkdown', 'knitr', 'lme4', 'brms', 'stan',
158
+ 'caret', 'mlr3', 'survival', 'lavaan',
159
+ ],
160
+ tools: [
161
+ 'statistical_analysis', 'regression_analysis', 'hypothesis_test',
162
+ 'anova_test', 'bayesian_inference', 'distribution_fit', 'correlation_matrix',
163
+ 'time_series_analyze', 'render_chart', 'cran_search',
164
+ 'notebook_create', 'notebook_edit',
165
+ ],
166
+ agent: 'quant',
167
+ notebookSetup: true,
168
+ dataFormats: ['csv', 'rds', 'rda', 'xlsx', 'sav', 'dta', 'feather'],
169
+ },
170
+ {
171
+ id: 'jupyter-notebook',
172
+ name: 'Jupyter Notebook',
173
+ description: 'General Jupyter notebook project with interactive computing',
174
+ detectors: ['*.ipynb', 'jupyter_notebook_config.py', '.jupyter/**'],
175
+ packages: [
176
+ 'jupyter', 'jupyterlab', 'notebook', 'ipykernel', 'ipywidgets',
177
+ 'nbformat', 'nbconvert', 'papermill', 'voila',
178
+ ],
179
+ tools: [
180
+ 'notebook_create', 'notebook_edit', 'notebook_read', 'notebook_view',
181
+ 'notebook_export', 'notebook_insert', 'notebook_search',
182
+ 'notebook_cite', 'notebook_provenance', 'render_chart',
183
+ 'pip_run', 'csv_read',
184
+ ],
185
+ agent: 'kernel',
186
+ notebookSetup: true,
187
+ dataFormats: ['ipynb', 'csv', 'json', 'xlsx'],
188
+ },
189
+ ];
190
+ // ── Detection ──
191
+ /** Read requirements.txt, setup.py, pyproject.toml, or environment.yml for package names */
192
+ function readPythonPackages(projectDir) {
193
+ const packages = [];
194
+ // requirements.txt (and variants)
195
+ const reqFiles = ['requirements.txt', 'requirements-dev.txt', 'requirements_dev.txt'];
196
+ for (const reqFile of reqFiles) {
197
+ const reqPath = join(projectDir, reqFile);
198
+ if (existsSync(reqPath)) {
199
+ try {
200
+ const content = readFileSync(reqPath, 'utf8');
201
+ for (const line of content.split('\n')) {
202
+ const trimmed = line.trim();
203
+ if (trimmed && !trimmed.startsWith('#') && !trimmed.startsWith('-')) {
204
+ // Extract package name (before ==, >=, <=, ~=, !=, [)
205
+ const match = trimmed.match(/^([a-zA-Z0-9_-]+)/);
206
+ if (match)
207
+ packages.push(match[1].toLowerCase());
208
+ }
209
+ }
210
+ }
211
+ catch { /* ignore unreadable files */ }
212
+ }
213
+ }
214
+ // pyproject.toml dependencies
215
+ const pyprojectPath = join(projectDir, 'pyproject.toml');
216
+ if (existsSync(pyprojectPath)) {
217
+ try {
218
+ const content = readFileSync(pyprojectPath, 'utf8');
219
+ // Match dependencies = ["package1", "package2>=1.0"]
220
+ const depBlock = content.match(/dependencies\s*=\s*\[([\s\S]*?)\]/m);
221
+ if (depBlock) {
222
+ const deps = depBlock[1].matchAll(/"([a-zA-Z0-9_-]+)/g);
223
+ for (const dep of deps) {
224
+ packages.push(dep[1].toLowerCase());
225
+ }
226
+ }
227
+ }
228
+ catch { /* ignore */ }
229
+ }
230
+ // setup.py install_requires
231
+ const setupPath = join(projectDir, 'setup.py');
232
+ if (existsSync(setupPath)) {
233
+ try {
234
+ const content = readFileSync(setupPath, 'utf8');
235
+ const deps = content.matchAll(/['"]([a-zA-Z0-9_-]+)/g);
236
+ for (const dep of deps) {
237
+ packages.push(dep[1].toLowerCase());
238
+ }
239
+ }
240
+ catch { /* ignore */ }
241
+ }
242
+ // environment.yml (conda)
243
+ const condaPath = join(projectDir, 'environment.yml');
244
+ if (existsSync(condaPath)) {
245
+ try {
246
+ const content = readFileSync(condaPath, 'utf8');
247
+ const lines = content.split('\n');
248
+ for (const line of lines) {
249
+ const match = line.match(/^\s*-\s*([a-zA-Z0-9_-]+)/);
250
+ if (match)
251
+ packages.push(match[1].toLowerCase());
252
+ }
253
+ }
254
+ catch { /* ignore */ }
255
+ }
256
+ return [...new Set(packages)];
257
+ }
258
+ /** Read R package dependencies from DESCRIPTION file or scripts */
259
+ function readRPackages(projectDir) {
260
+ const packages = [];
261
+ // DESCRIPTION file (R package)
262
+ const descPath = join(projectDir, 'DESCRIPTION');
263
+ if (existsSync(descPath)) {
264
+ try {
265
+ const content = readFileSync(descPath, 'utf8');
266
+ const depSection = content.match(/(?:Imports|Depends|Suggests):\s*([\s\S]*?)(?:\n\S|$)/g);
267
+ if (depSection) {
268
+ for (const section of depSection) {
269
+ const pkgs = section.matchAll(/([a-zA-Z][a-zA-Z0-9.]+)/g);
270
+ for (const pkg of pkgs) {
271
+ if (!['Imports', 'Depends', 'Suggests'].includes(pkg[1])) {
272
+ packages.push(pkg[1].toLowerCase());
273
+ }
274
+ }
275
+ }
276
+ }
277
+ }
278
+ catch { /* ignore */ }
279
+ }
280
+ // Scan .R files for library() calls (top-level only, limit to 10 files)
281
+ try {
282
+ const entries = readdirSync(projectDir);
283
+ let scanned = 0;
284
+ for (const entry of entries) {
285
+ if (scanned >= 10)
286
+ break;
287
+ if (entry.endsWith('.R') || entry.endsWith('.r') || entry.endsWith('.Rmd') || entry.endsWith('.rmd')) {
288
+ scanned++;
289
+ try {
290
+ const content = readFileSync(join(projectDir, entry), 'utf8');
291
+ const libs = content.matchAll(/(?:library|require)\s*\(\s*["']?([a-zA-Z][a-zA-Z0-9.]+)["']?\s*\)/g);
292
+ for (const lib of libs) {
293
+ packages.push(lib[1].toLowerCase());
294
+ }
295
+ }
296
+ catch { /* ignore */ }
297
+ }
298
+ }
299
+ }
300
+ catch { /* ignore */ }
301
+ return [...new Set(packages)];
302
+ }
303
+ /** Check if specific file patterns exist in the project */
304
+ function hasFilePatterns(projectDir, patterns) {
305
+ try {
306
+ const entries = readdirSync(projectDir);
307
+ for (const pattern of patterns) {
308
+ // Simple extension matching (not full glob)
309
+ if (pattern.startsWith('*.')) {
310
+ const ext = pattern.slice(1); // e.g., ".ipynb"
311
+ if (entries.some(e => e.endsWith(ext)))
312
+ return true;
313
+ }
314
+ // Direct file match
315
+ if (entries.includes(pattern))
316
+ return true;
317
+ }
318
+ }
319
+ catch { /* ignore */ }
320
+ // Also check common subdirectories
321
+ const subDirs = ['notebooks', 'data', 'src', 'scripts', 'analysis'];
322
+ for (const sub of subDirs) {
323
+ const subPath = join(projectDir, sub);
324
+ try {
325
+ const entries = readdirSync(subPath);
326
+ for (const pattern of patterns) {
327
+ if (pattern.startsWith('*.')) {
328
+ const ext = pattern.slice(1);
329
+ if (entries.some(e => e.endsWith(ext)))
330
+ return true;
331
+ }
332
+ }
333
+ }
334
+ catch { /* directory doesn't exist */ }
335
+ }
336
+ return false;
337
+ }
338
+ /** Score a template against detected packages and files */
339
+ function scoreTemplate(template, packages, projectDir) {
340
+ let score = 0;
341
+ // Package matches (each match = 2 points)
342
+ for (const pkg of template.packages) {
343
+ if (packages.includes(pkg.toLowerCase())) {
344
+ score += 2;
345
+ }
346
+ }
347
+ // File pattern matches (each match = 3 points — strong signal)
348
+ if (hasFilePatterns(projectDir, template.detectors)) {
349
+ score += 3;
350
+ }
351
+ return score;
352
+ }
353
+ /**
354
+ * Detect if the project is a scientific project and return the best-matching template.
355
+ *
356
+ * Returns `null` if no science template scores above the threshold.
357
+ * Requires at least 2 package matches OR 1 file pattern match to activate.
358
+ */
359
+ export function detectScienceProject(projectDir) {
360
+ const pythonPkgs = readPythonPackages(projectDir);
361
+ const rPkgs = readRPackages(projectDir);
362
+ const allPkgs = [...pythonPkgs, ...rPkgs];
363
+ let bestTemplate = null;
364
+ let bestScore = 0;
365
+ for (const template of SCIENCE_TEMPLATES) {
366
+ const score = scoreTemplate(template, allPkgs, projectDir);
367
+ if (score > bestScore) {
368
+ bestScore = score;
369
+ bestTemplate = template;
370
+ }
371
+ }
372
+ // Minimum threshold: at least 3 points (1 file pattern match or 2 package matches)
373
+ if (bestScore < 3)
374
+ return null;
375
+ return bestTemplate;
376
+ }
377
+ /**
378
+ * Apply a science template to a project directory.
379
+ *
380
+ * Creates a `.kbot/science.json` config with the template settings,
381
+ * pre-configures notebook integration if needed, and writes a
382
+ * `.kbot/tools.json` with the recommended tool list.
383
+ */
384
+ export function applyScienceTemplate(template, projectDir) {
385
+ const kbotDir = join(projectDir, '.kbot');
386
+ if (!existsSync(kbotDir))
387
+ mkdirSync(kbotDir, { recursive: true });
388
+ // Write science template config
389
+ const scienceConfig = {
390
+ template: template.id,
391
+ name: template.name,
392
+ description: template.description,
393
+ agent: template.agent,
394
+ tools: template.tools,
395
+ dataFormats: template.dataFormats || [],
396
+ notebookSetup: template.notebookSetup || false,
397
+ appliedAt: new Date().toISOString(),
398
+ };
399
+ writeFileSync(join(kbotDir, 'science.json'), JSON.stringify(scienceConfig, null, 2));
400
+ // Write recommended tools list
401
+ const toolsConfig = {
402
+ enabled: template.tools,
403
+ source: `science-template:${template.id}`,
404
+ };
405
+ const toolsPath = join(kbotDir, 'tools.json');
406
+ if (existsSync(toolsPath)) {
407
+ // Merge with existing tools config
408
+ try {
409
+ const existing = JSON.parse(readFileSync(toolsPath, 'utf8'));
410
+ const merged = [...new Set([...(existing.enabled || []), ...template.tools])];
411
+ writeFileSync(toolsPath, JSON.stringify({ ...existing, enabled: merged }, null, 2));
412
+ }
413
+ catch {
414
+ writeFileSync(toolsPath, JSON.stringify(toolsConfig, null, 2));
415
+ }
416
+ }
417
+ else {
418
+ writeFileSync(toolsPath, JSON.stringify(toolsConfig, null, 2));
419
+ }
420
+ // Configure notebook integration
421
+ if (template.notebookSetup) {
422
+ const notebookConfig = {
423
+ enabled: true,
424
+ autoDetect: true,
425
+ kernelHint: template.id === 'r-statistical' ? 'ir' : 'python3',
426
+ dataFormats: template.dataFormats || [],
427
+ };
428
+ writeFileSync(join(kbotDir, 'notebook.json'), JSON.stringify(notebookConfig, null, 2));
429
+ }
430
+ // Write a .kbot.md with science-specific guidance
431
+ const kbotMdPath = join(projectDir, '.kbot.md');
432
+ if (!existsSync(kbotMdPath)) {
433
+ const guidance = [
434
+ `# ${template.name} Project`,
435
+ '',
436
+ `This project has been configured with the **${template.name}** science template.`,
437
+ '',
438
+ `## Recommended Agent`,
439
+ `Use the \`${template.agent}\` specialist for best results.`,
440
+ '',
441
+ `## Pre-configured Tools`,
442
+ ...template.tools.map(t => `- \`${t}\``),
443
+ '',
444
+ `## Data Formats`,
445
+ ...(template.dataFormats || []).map(f => `- \`.${f}\``),
446
+ '',
447
+ `## Tips`,
448
+ `- Use \`kbot "analyze this dataset"\` to get started with data analysis`,
449
+ `- Use \`kbot notebook create\` to scaffold a new notebook`,
450
+ `- kbot will auto-detect data files and suggest appropriate tools`,
451
+ '',
452
+ ];
453
+ writeFileSync(kbotMdPath, guidance.join('\n'));
454
+ }
455
+ }
456
+ /** List all available science templates */
457
+ export function listScienceTemplates() {
458
+ return [...SCIENCE_TEMPLATES];
459
+ }
460
+ /**
461
+ * Format a science template detection result for the init report.
462
+ */
463
+ export function formatScienceReport(template) {
464
+ const lines = [];
465
+ lines.push(` Science: ${template.name}`);
466
+ lines.push(` Domain: ${template.description}`);
467
+ lines.push(` Agent: ${template.agent}`);
468
+ lines.push(` Tools: ${template.tools.length} pre-configured`);
469
+ if (template.dataFormats && template.dataFormats.length > 0) {
470
+ lines.push(` Data: ${template.dataFormats.join(', ')}`);
471
+ }
472
+ if (template.notebookSetup) {
473
+ lines.push(` Notebooks: auto-configured`);
474
+ }
475
+ return lines.join('\n');
476
+ }
477
+ //# sourceMappingURL=init-science.js.map