@geotechcli/core 0.2.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 (194) hide show
  1. package/dist/agents/brain.d.ts +39 -0
  2. package/dist/agents/brain.d.ts.map +1 -0
  3. package/dist/agents/brain.js +339 -0
  4. package/dist/agents/brain.js.map +1 -0
  5. package/dist/agents/bridge-tools.d.ts +2 -0
  6. package/dist/agents/bridge-tools.d.ts.map +1 -0
  7. package/dist/agents/bridge-tools.js +170 -0
  8. package/dist/agents/bridge-tools.js.map +1 -0
  9. package/dist/agents/data-tools.d.ts +2 -0
  10. package/dist/agents/data-tools.d.ts.map +1 -0
  11. package/dist/agents/data-tools.js +309 -0
  12. package/dist/agents/data-tools.js.map +1 -0
  13. package/dist/agents/filesystem-tools.d.ts +2 -0
  14. package/dist/agents/filesystem-tools.d.ts.map +1 -0
  15. package/dist/agents/filesystem-tools.js +267 -0
  16. package/dist/agents/filesystem-tools.js.map +1 -0
  17. package/dist/agents/guardrails.d.ts +17 -0
  18. package/dist/agents/guardrails.d.ts.map +1 -0
  19. package/dist/agents/guardrails.js +260 -0
  20. package/dist/agents/guardrails.js.map +1 -0
  21. package/dist/agents/orchestrator.d.ts +9 -0
  22. package/dist/agents/orchestrator.d.ts.map +1 -0
  23. package/dist/agents/orchestrator.js +136 -0
  24. package/dist/agents/orchestrator.js.map +1 -0
  25. package/dist/agents/safety.d.ts +9 -0
  26. package/dist/agents/safety.d.ts.map +1 -0
  27. package/dist/agents/safety.js +40 -0
  28. package/dist/agents/safety.js.map +1 -0
  29. package/dist/agents/sandbox.d.ts +34 -0
  30. package/dist/agents/sandbox.d.ts.map +1 -0
  31. package/dist/agents/sandbox.js +235 -0
  32. package/dist/agents/sandbox.js.map +1 -0
  33. package/dist/agents/swarm.d.ts +25 -0
  34. package/dist/agents/swarm.d.ts.map +1 -0
  35. package/dist/agents/swarm.js +434 -0
  36. package/dist/agents/swarm.js.map +1 -0
  37. package/dist/agents/tools.d.ts +37 -0
  38. package/dist/agents/tools.d.ts.map +1 -0
  39. package/dist/agents/tools.js +451 -0
  40. package/dist/agents/tools.js.map +1 -0
  41. package/dist/bridge/index.d.ts +52 -0
  42. package/dist/bridge/index.d.ts.map +1 -0
  43. package/dist/bridge/index.js +195 -0
  44. package/dist/bridge/index.js.map +1 -0
  45. package/dist/config/index.d.ts +106 -0
  46. package/dist/config/index.d.ts.map +1 -0
  47. package/dist/config/index.js +217 -0
  48. package/dist/config/index.js.map +1 -0
  49. package/dist/db/index.d.ts +4 -0
  50. package/dist/db/index.d.ts.map +1 -0
  51. package/dist/db/index.js +4 -0
  52. package/dist/db/index.js.map +1 -0
  53. package/dist/db/redis.d.ts +14 -0
  54. package/dist/db/redis.d.ts.map +1 -0
  55. package/dist/db/redis.js +204 -0
  56. package/dist/db/redis.js.map +1 -0
  57. package/dist/db/supabase.d.ts +57 -0
  58. package/dist/db/supabase.d.ts.map +1 -0
  59. package/dist/db/supabase.js +156 -0
  60. package/dist/db/supabase.js.map +1 -0
  61. package/dist/db/users.d.ts +50 -0
  62. package/dist/db/users.d.ts.map +1 -0
  63. package/dist/db/users.js +132 -0
  64. package/dist/db/users.js.map +1 -0
  65. package/dist/export/index.d.ts +51 -0
  66. package/dist/export/index.d.ts.map +1 -0
  67. package/dist/export/index.js +126 -0
  68. package/dist/export/index.js.map +1 -0
  69. package/dist/geo/bearing-capacity.d.ts +60 -0
  70. package/dist/geo/bearing-capacity.d.ts.map +1 -0
  71. package/dist/geo/bearing-capacity.js +195 -0
  72. package/dist/geo/bearing-capacity.js.map +1 -0
  73. package/dist/geo/classification.d.ts +107 -0
  74. package/dist/geo/classification.d.ts.map +1 -0
  75. package/dist/geo/classification.js +261 -0
  76. package/dist/geo/classification.js.map +1 -0
  77. package/dist/geo/index.d.ts +9 -0
  78. package/dist/geo/index.d.ts.map +1 -0
  79. package/dist/geo/index.js +9 -0
  80. package/dist/geo/index.js.map +1 -0
  81. package/dist/geo/lateral-earth-pressure.d.ts +75 -0
  82. package/dist/geo/lateral-earth-pressure.d.ts.map +1 -0
  83. package/dist/geo/lateral-earth-pressure.js +219 -0
  84. package/dist/geo/lateral-earth-pressure.js.map +1 -0
  85. package/dist/geo/liquefaction.d.ts +65 -0
  86. package/dist/geo/liquefaction.d.ts.map +1 -0
  87. package/dist/geo/liquefaction.js +163 -0
  88. package/dist/geo/liquefaction.js.map +1 -0
  89. package/dist/geo/pile-capacity.d.ts +91 -0
  90. package/dist/geo/pile-capacity.d.ts.map +1 -0
  91. package/dist/geo/pile-capacity.js +233 -0
  92. package/dist/geo/pile-capacity.js.map +1 -0
  93. package/dist/geo/settlement.d.ts +119 -0
  94. package/dist/geo/settlement.d.ts.map +1 -0
  95. package/dist/geo/settlement.js +184 -0
  96. package/dist/geo/settlement.js.map +1 -0
  97. package/dist/geo/slope-stability.d.ts +82 -0
  98. package/dist/geo/slope-stability.d.ts.map +1 -0
  99. package/dist/geo/slope-stability.js +214 -0
  100. package/dist/geo/slope-stability.js.map +1 -0
  101. package/dist/geo/tunnel/index.d.ts +2 -0
  102. package/dist/geo/tunnel/index.d.ts.map +1 -0
  103. package/dist/geo/tunnel/index.js +2 -0
  104. package/dist/geo/tunnel/index.js.map +1 -0
  105. package/dist/geo/tunnel/tbm.d.ts +135 -0
  106. package/dist/geo/tunnel/tbm.d.ts.map +1 -0
  107. package/dist/geo/tunnel/tbm.js +268 -0
  108. package/dist/geo/tunnel/tbm.js.map +1 -0
  109. package/dist/index.d.ts +20 -0
  110. package/dist/index.d.ts.map +1 -0
  111. package/dist/index.js +33 -0
  112. package/dist/index.js.map +1 -0
  113. package/dist/ingest/ags.d.ts +42 -0
  114. package/dist/ingest/ags.d.ts.map +1 -0
  115. package/dist/ingest/ags.js +133 -0
  116. package/dist/ingest/ags.js.map +1 -0
  117. package/dist/ingest/cpt.d.ts +47 -0
  118. package/dist/ingest/cpt.d.ts.map +1 -0
  119. package/dist/ingest/cpt.js +112 -0
  120. package/dist/ingest/cpt.js.map +1 -0
  121. package/dist/ingest/index.d.ts +3 -0
  122. package/dist/ingest/index.d.ts.map +1 -0
  123. package/dist/ingest/index.js +3 -0
  124. package/dist/ingest/index.js.map +1 -0
  125. package/dist/llm/index.d.ts +5 -0
  126. package/dist/llm/index.d.ts.map +1 -0
  127. package/dist/llm/index.js +4 -0
  128. package/dist/llm/index.js.map +1 -0
  129. package/dist/llm/middleware/metering.d.ts +55 -0
  130. package/dist/llm/middleware/metering.d.ts.map +1 -0
  131. package/dist/llm/middleware/metering.js +191 -0
  132. package/dist/llm/middleware/metering.js.map +1 -0
  133. package/dist/llm/middleware/persistent-usage.d.ts +7 -0
  134. package/dist/llm/middleware/persistent-usage.d.ts.map +1 -0
  135. package/dist/llm/middleware/persistent-usage.js +108 -0
  136. package/dist/llm/middleware/persistent-usage.js.map +1 -0
  137. package/dist/llm/middleware/retry.d.ts +7 -0
  138. package/dist/llm/middleware/retry.d.ts.map +1 -0
  139. package/dist/llm/middleware/retry.js +29 -0
  140. package/dist/llm/middleware/retry.js.map +1 -0
  141. package/dist/llm/providers/anthropic.d.ts +10 -0
  142. package/dist/llm/providers/anthropic.d.ts.map +1 -0
  143. package/dist/llm/providers/anthropic.js +107 -0
  144. package/dist/llm/providers/anthropic.js.map +1 -0
  145. package/dist/llm/providers/hosted-beta.d.ts +10 -0
  146. package/dist/llm/providers/hosted-beta.d.ts.map +1 -0
  147. package/dist/llm/providers/hosted-beta.js +106 -0
  148. package/dist/llm/providers/hosted-beta.js.map +1 -0
  149. package/dist/llm/providers/huggingface.d.ts +37 -0
  150. package/dist/llm/providers/huggingface.d.ts.map +1 -0
  151. package/dist/llm/providers/huggingface.js +133 -0
  152. package/dist/llm/providers/huggingface.js.map +1 -0
  153. package/dist/llm/providers/openai-compatible.d.ts +27 -0
  154. package/dist/llm/providers/openai-compatible.d.ts.map +1 -0
  155. package/dist/llm/providers/openai-compatible.js +99 -0
  156. package/dist/llm/providers/openai-compatible.js.map +1 -0
  157. package/dist/llm/providers/zhipu.d.ts +10 -0
  158. package/dist/llm/providers/zhipu.d.ts.map +1 -0
  159. package/dist/llm/providers/zhipu.js +81 -0
  160. package/dist/llm/providers/zhipu.js.map +1 -0
  161. package/dist/llm/router.d.ts +35 -0
  162. package/dist/llm/router.d.ts.map +1 -0
  163. package/dist/llm/router.js +109 -0
  164. package/dist/llm/router.js.map +1 -0
  165. package/dist/llm/types.d.ts +63 -0
  166. package/dist/llm/types.d.ts.map +1 -0
  167. package/dist/llm/types.js +38 -0
  168. package/dist/llm/types.js.map +1 -0
  169. package/dist/meta/index.d.ts +12 -0
  170. package/dist/meta/index.d.ts.map +1 -0
  171. package/dist/meta/index.js +8 -0
  172. package/dist/meta/index.js.map +1 -0
  173. package/dist/meta/metadata.json +46 -0
  174. package/dist/report/index.d.ts +20 -0
  175. package/dist/report/index.d.ts.map +1 -0
  176. package/dist/report/index.js +58 -0
  177. package/dist/report/index.js.map +1 -0
  178. package/dist/standards/index.d.ts +23 -0
  179. package/dist/standards/index.d.ts.map +1 -0
  180. package/dist/standards/index.js +89 -0
  181. package/dist/standards/index.js.map +1 -0
  182. package/dist/storage/index.d.ts +114 -0
  183. package/dist/storage/index.d.ts.map +1 -0
  184. package/dist/storage/index.js +465 -0
  185. package/dist/storage/index.js.map +1 -0
  186. package/dist/vision/index.d.ts +80 -0
  187. package/dist/vision/index.d.ts.map +1 -0
  188. package/dist/vision/index.js +298 -0
  189. package/dist/vision/index.js.map +1 -0
  190. package/dist/vision/parse.d.ts +20 -0
  191. package/dist/vision/parse.d.ts.map +1 -0
  192. package/dist/vision/parse.js +75 -0
  193. package/dist/vision/parse.js.map +1 -0
  194. package/package.json +55 -0
@@ -0,0 +1,23 @@
1
+ export interface StandardProvision {
2
+ id: string;
3
+ standard: string;
4
+ section: string;
5
+ title: string;
6
+ content: string;
7
+ keywords: string[];
8
+ topic: string;
9
+ }
10
+ export interface StandardsQueryResult {
11
+ query: string;
12
+ matches: StandardProvision[];
13
+ bestMatch: StandardProvision | null;
14
+ }
15
+ export declare function queryStandards(query: string, maxResults?: number): StandardsQueryResult;
16
+ export declare function listStandards(): Array<{
17
+ id: string;
18
+ standard: string;
19
+ title: string;
20
+ topic: string;
21
+ }>;
22
+ export declare function getStandardById(id: string): StandardProvision | null;
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/standards/index.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAyDD,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACrC;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,oBAAoB,CAwClF;AAED,wBAAgB,aAAa,IAAI,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAErG;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAEpE"}
@@ -0,0 +1,89 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Geotechnical Standards Knowledge Base
3
+ // Embedded retrieval system — no vector DB needed for this scale.
4
+ // Keyword-indexed provisions from major geotechnical standards.
5
+ // The agent queries this via the `query_standards` tool.
6
+ // ---------------------------------------------------------------------------
7
+ const STANDARDS_DB = [
8
+ // --- Eurocode 7 (EN 1997) ---
9
+ { id: 'EC7-2.4.7', standard: 'EN 1997-1:2004', section: '2.4.7', title: 'Partial factors – ULS', content: 'Design approach 1 (DA1): Combination 1: A1+M1+R1, Combination 2: A2+M2+R1. Partial factors on actions γG=1.35(unfav)/1.0(fav), γQ=1.5(unfav)/0. Partial factors on soil: γφ=1.0(C1)/1.25(C2), γc=1.0(C1)/1.25(C2), γcu=1.0(C1)/1.4(C2).', keywords: ['partial factor', 'uls', 'design approach', 'eurocode', 'safety factor', 'limit state'], topic: 'design' },
10
+ { id: 'EC7-6.5', standard: 'EN 1997-1:2004', section: '6.5', title: 'Bearing resistance – spread foundations', content: 'The design bearing resistance shall be calculated from ground test results or pressuremeter test results. Analytical methods: Terzaghi, Meyerhof, Hansen, Vesic equations with partial factors applied. Rk = A\'(c\'Nc sc ic + q\'Nq sq iq + 0.5γ\'B\'Nγ sγ iγ). The design value Rd = Rk/γR where γR = 1.0(DA1-C1) or 1.4(DA1-C2).', keywords: ['bearing capacity', 'foundation', 'spread foundation', 'shallow', 'eurocode'], topic: 'foundations' },
11
+ { id: 'EC7-7.6', standard: 'EN 1997-1:2004', section: '7.6', title: 'Pile bearing capacity', content: 'Ultimate compressive resistance from static formula: Rc,cal = Rs,cal + Rb,cal (shaft + base). Correlation factors ξ depend on number of test profiles. For driven piles: Rc,d = Rc,k/γt where γt = 1.0-1.6 depending on DA and pile type.', keywords: ['pile', 'bearing capacity', 'deep foundation', 'shaft resistance', 'base resistance'], topic: 'foundations' },
12
+ { id: 'EC7-11', standard: 'EN 1997-1:2004', section: '11', title: 'Overall stability', content: 'Verification of overall stability required for slopes, embankments, earthworks. Bishop, Janbu, Morgenstern-Price methods acceptable. Minimum FOS: 1.0 when using partial factors on soil strength (DA3), or 1.25-1.5 for global FOS approach.', keywords: ['slope stability', 'overall stability', 'factor of safety', 'bishop', 'eurocode'], topic: 'slopes' },
13
+ { id: 'EC7-12', standard: 'EN 1997-1:2004', section: '12', title: 'Embankments', content: 'End-of-construction stability, long-term stability, and rapid drawdown conditions shall be checked. Pore pressure assumptions: undrained (short-term), drained (long-term). Observation method per §2.7 is applicable for staged construction.', keywords: ['embankment', 'construction', 'stability', 'pore pressure', 'staged'], topic: 'slopes' },
14
+ { id: 'EC7-9', standard: 'EN 1997-1:2004', section: '9', title: 'Retaining structures', content: 'Earth pressure: at-rest K0 = 1-sinφ\' (normally consolidated), active Ka, passive Kp. Compaction-induced pressures shall be considered. Water pressure treated separately from earth pressure. Design approaches DA1, DA2, DA3 applicable.', keywords: ['retaining wall', 'earth pressure', 'lateral', 'K0', 'active', 'passive'], topic: 'retaining' },
15
+ // --- ASTM Standards ---
16
+ { id: 'ASTM-D2487', standard: 'ASTM D2487', section: 'Full', title: 'USCS Classification', content: 'Unified Soil Classification System. Coarse-grained: >50% retained on #200 sieve → GW/GP/GM/GC/SW/SP/SM/SC based on gradation (Cu, Cc) and fines plasticity. Fine-grained: >50% passing #200 → CL/ML/CH/MH/OL/OH/Pt based on LL, PI, A-line (PI = 0.73(LL-20)). Dual symbols for borderline soils.', keywords: ['uscs', 'classification', 'soil classification', 'grain size', 'atterberg'], topic: 'classification' },
17
+ { id: 'ASTM-D1586', standard: 'ASTM D1586', section: 'Full', title: 'Standard Penetration Test (SPT)', content: 'Drop hammer: 63.5 kg falling 760mm. Sampler: split-spoon 50.8mm OD. N-value: blows for last 300mm of 450mm drive. Corrections: N60 for energy ratio (CE), borehole diameter (CB), rod length (CR), sampler (CS). N1,60 = N × CN × CE × CB × CR × CS where CN = (Pa/σ\'v)^0.5 ≤ 1.7.', keywords: ['spt', 'standard penetration', 'n-value', 'borehole', 'blow count', 'correction'], topic: 'testing' },
18
+ { id: 'ASTM-D5778', standard: 'ASTM D5778', section: 'Full', title: 'Cone Penetration Test (CPT)', content: 'Standard cone: 60° apex angle, 10 cm² projected area, 150 cm² friction sleeve. Measurements: qc (tip resistance), fs (sleeve friction), u2 (pore pressure). Corrected: qt = qc + u2(1-a). Robertson classification: SBTn based on normalized Qt and Fr. Ic = sqrt((3.47-logQt)² + (logFr+1.22)²).', keywords: ['cpt', 'cone penetration', 'robertson', 'tip resistance', 'friction ratio', 'soil behavior type'], topic: 'testing' },
19
+ { id: 'ASTM-D4318', standard: 'ASTM D4318', section: 'Full', title: 'Atterberg Limits', content: 'Liquid Limit (LL): moisture content at 25 blows in Casagrande cup. Plastic Limit (PL): moisture content at which soil crumbles when rolled to 3mm thread. Plasticity Index PI = LL - PL. A-line: PI = 0.73(LL-20). Above A-line: clay. Below: silt. LL>50: high plasticity (H). LL<50: low plasticity (L).', keywords: ['atterberg', 'liquid limit', 'plastic limit', 'plasticity', 'consistency'], topic: 'testing' },
20
+ // --- Bieniawski RMR ---
21
+ { id: 'RMR89', standard: 'Bieniawski 1989', section: 'RMR', title: 'Rock Mass Rating System', content: 'RMR = sum of ratings for: (1) UCS 0-15, (2) RQD 3-20, (3) Discontinuity spacing 5-20, (4) Joint condition 0-30, (5) Groundwater 0-15, (6) Orientation adjustment -60 to 0. Classes: I (81-100) Very Good, II (61-80) Good, III (41-60) Fair, IV (21-40) Poor, V (<20) Very Poor. Support: Class I = no support, Class V = heavy steel + shotcrete + forepoling.', keywords: ['rmr', 'rock mass rating', 'bieniawski', 'rock classification', 'tunnel support'], topic: 'rock_classification' },
22
+ // --- Barton Q-system ---
23
+ { id: 'Q-SYSTEM', standard: 'Barton et al. 1974', section: 'Q', title: 'Q-system for tunnel support', content: 'Q = (RQD/Jn) × (Jr/Ja) × (Jw/SRF). Block size: RQD/Jn. Shear strength: Jr/Ja. Active stress: Jw/SRF. Support chart: equivalent dimension De = span/ESR. ESR values: powerhouse 1.6, road tunnel 1.0, storage 1.6, water tunnel 1.3. Q > 40: unsupported. Q = 0.1-4: systematic bolting + shotcrete. Q < 0.01: special methods (ground freezing, etc.).', keywords: ['q system', 'barton', 'tunnel support', 'rock quality', 'joint'], topic: 'rock_classification' },
24
+ // --- Boulanger & Idriss ---
25
+ { id: 'BI-2014', standard: 'Boulanger & Idriss 2014', section: 'Liquefaction', title: 'SPT-Based Liquefaction Triggering', content: 'CSR = 0.65(σv/σ\'v)(amax/g)(rd). CRR7.5 from deterministic curve using (N1)60cs. Fines correction: ΔNf = exp(1.63 + 9.7/(FC+0.01) - (15.7/(FC+0.01))²). MSF = 6.9exp(-Mw/4) - 0.058. Kσ correction for overburden. FS = (CRR × MSF × Kσ) / CSR. FS < 1.0: liquefaction likely. Settlement: Ishihara & Yoshimine 1992 volumetric strain method.', keywords: ['liquefaction', 'spt', 'csr', 'crr', 'earthquake', 'seismic', 'boulanger', 'idriss'], topic: 'seismic' },
26
+ // --- Settlement ---
27
+ { id: 'TERZAGHI-1D', standard: 'Terzaghi 1925', section: 'Consolidation', title: '1D Consolidation Settlement', content: 'Primary settlement: S = Cc/(1+e0) × H × log(σ\'f/σ\'0) for normally consolidated clay. For OC: S = Cr/(1+e0)×H×log(σ\'p/σ\'0) + Cc/(1+e0)×H×log(σ\'f/σ\'p). Time factor: Tv = Cv×t/Hd². U = 1 - 8/π²×exp(-π²Tv/4) for U < 60%.', keywords: ['settlement', 'consolidation', 'terzaghi', 'compression', 'clay', 'time'], topic: 'settlement' },
28
+ // --- TBM ---
29
+ { id: 'TBM-SELECT', standard: 'ITA/AITES 2000', section: 'TBM Selection', title: 'TBM Type Selection Guidelines', content: 'Open TBM: competent rock, UCS>100MPa, self-supporting, low water. Single Shield: variable rock, moderate water. Double Shield: mixed conditions, gripper+shield modes. EPB: soft ground, fines>30%, water<3bar. Slurry: high water pressure, coarse granular, high permeability. Convertible/Multi-mode: mixed face, transition zones.', keywords: ['tbm', 'tunnel boring machine', 'epb', 'slurry', 'shield', 'selection'], topic: 'tunneling' },
30
+ // --- JGS (Japanese Geotechnical Society) ---
31
+ { id: 'JGS-0121', standard: 'JGS 0121', section: 'Full', title: 'Standard Penetration Test', content: 'Japanese SPT standard. Same hammer (63.5 kg, 760mm drop) as ASTM D1586. Japanese practice typically uses automatic trip hammer (CE≈1.2). Corrections: N1 = CN × N × CE. For Japanese SPT, energy ratio is often higher than US practice. Rod length correction differs for short rods.', keywords: ['spt', 'standard penetration', 'japanese', 'jgs', 'n-value'], topic: 'testing' },
32
+ { id: 'JGS-PILE', standard: 'JGS 4101', section: 'Full', title: 'Pile Foundation Design', content: 'Japanese pile design standard. Bearing capacity: Ra = (1/3)(qd·Ap + Σ(fi·Li·U)) for end-bearing + shaft. fi values: clay=cu×α (α from table), sand=10N/3 (kPa). End bearing: qd=300N for sand, 6cu for clay. Group effect reduction. Settlement check required for L/D < 25.', keywords: ['pile', 'foundation', 'bearing capacity', 'japanese', 'jgs', 'shaft resistance'], topic: 'foundations' },
33
+ // --- JSCE (Japan Society of Civil Engineers) ---
34
+ { id: 'JSCE-C7', standard: 'JSCE C7.11', section: 'C7.11', title: 'NATM Tunnel Support Classification', content: 'Rock classification for NATM tunnel support in Japan. Six ground classes (A-F): A=硬質・塊状岩 (hard massive), B=軟質・塊状岩 (soft massive), CI/CII=層状中硬質 (layered moderate), DI/DII=層状軟質 (layered soft), E=土砂 (soil), F=膨張性 (swelling). Support patterns specify shotcrete thickness, bolt spacing/length, and steel arch requirements per class.', keywords: ['natm', 'tunnel', 'support', 'jsce', 'rock classification', 'japanese tunnel'], topic: 'tunneling' },
35
+ { id: 'JSCE-RMR', standard: 'JSCE / NEXCO', section: 'Design Guidelines Vol.3', title: 'NEXCO Tunnel Design Standards', content: 'NEXCO (formerly JH) tunnel design guidelines for expressway tunnels in Japan. Rock classification: 塊状-硬質岩, 塊状-中硬質岩・軟質岩, 層状-中硬質岩, 層状-軟質岩. Support patterns I through VI with increasing support intensity. Uses aggregated scores mapping to RMR equivalent. Includes convergence monitoring criteria and displacement thresholds per JSCE C7.10 LDP theory.', keywords: ['nexco', 'jsce', 'tunnel', 'natm', 'japanese', 'expressway', 'rock classification'], topic: 'tunneling' },
36
+ { id: 'JSCE-FOS', standard: 'JSCE', section: 'Standard Specifications', title: 'Japanese Factor of Safety Standards', content: 'Japanese design practice FOS: shallow foundations FS≥3 (static), FS≥2 (seismic). Pile foundations FS≥3 (compression), FS≥6 (tension). Slopes FS≥1.5 (long-term), FS≥1.2 (seismic), FS≥1.1 (residual). Retaining walls: sliding FS≥1.5, overturning FS≥2.0, bearing capacity FS≥3.0.', keywords: ['factor of safety', 'japanese', 'jsce', 'design', 'fos', 'safety factor'], topic: 'design' },
37
+ // --- Eurocode 7 additions ---
38
+ { id: 'EC7-7.4', standard: 'EN 1997-1:2004', section: '7.4', title: 'Pile shaft resistance in clay — α-method', content: 'Shaft resistance: qs = α × cu. α depends on cu/σ\'v ratio and pile type. For driven piles: α = 0.5(cu/σ\'v)^-0.5 for cu/σ\'v ≤ 1, and α = 0.5(cu/σ\'v)^-0.25 for cu/σ\'v > 1 (API RP2A approach). For bored piles: reduce α by 0.8-0.9 factor. Base resistance: qb = Nc × cu, Nc = 9 for deep foundations (L/D > 4).', keywords: ['pile', 'shaft resistance', 'alpha method', 'clay', 'undrained', 'eurocode'], topic: 'foundations' },
39
+ { id: 'EC7-SLOPE', standard: 'EN 1997-1:2004', section: '11.5', title: 'Slope stability — methods of analysis', content: 'Acceptable methods: Bishop simplified, Janbu simplified/rigorous, Spencer, Morgenstern-Price. Partial factors on soil strength: γφ=1.25 (DA1-C2, DA3), γc=1.25 (DA1-C2, DA3), γcu=1.4 (DA1-C2, DA3). Design approach 3 (DA3) recommended for slopes: factors on material + variable actions. Minimum reliability index β=3.8 for RC2 structures.', keywords: ['slope stability', 'bishop', 'eurocode', 'partial factor', 'spencer', 'morgenstern'], topic: 'slopes' },
40
+ { id: 'EC7-RETAINING', standard: 'EN 1997-1:2004', section: '9.5', title: 'Retaining wall design checks', content: 'Verification: (1) Bearing capacity of base, (2) Sliding resistance: Rd ≥ Ed, where Rd = Vd×tan(δd) + c×B for drained, (3) Overturning: eccentricity e < B/3 (drained) or B/2 (undrained), (4) Overall stability (slope failure through wall). Active pressure: Ka from Rankine or Coulomb. Compaction-induced pressures must be considered. Water pressure treated separately with γF=1.35.', keywords: ['retaining wall', 'earth pressure', 'sliding', 'overturning', 'eurocode', 'bearing'], topic: 'retaining' },
41
+ // --- Settlement additions ---
42
+ { id: 'SCHMERTMANN', standard: 'Schmertmann 1970/1978', section: 'Full', title: 'Schmertmann Immediate Settlement', content: 'Strain influence factor method for granular soils. S = C1×C2×q×Σ(Iz/Es)×Δz. Influence factor peaks at Iz,max=0.5 at depth B/2 (square) or B (strip). C1 = 1-0.5(q0/Δq) embedment correction. C2 = 1+0.2log(t/0.1) creep correction. Applicable to sand, gravel, and cohesionless soils. Not valid for clays.', keywords: ['settlement', 'schmertmann', 'strain influence', 'granular', 'immediate', 'elastic'], topic: 'settlement' },
43
+ // --- Pile design additions ---
44
+ { id: 'MEYERHOF-PILE', standard: 'Meyerhof 1976', section: 'Full', title: 'SPT-Based Pile Capacity', content: 'Driven piles in sand: qb = 400N (kPa, limited to 400N ≤ 40000 kPa). Shaft: fs = 2N (kPa). Bored piles: qb = 133N, fs = N/3. N = average SPT N-value at base (±5D zone for qb, along shaft for fs). Method tends to be conservative. Corrections: N should be corrected for overburden (N1,60).', keywords: ['pile', 'spt', 'meyerhof', 'driven', 'bored', 'bearing capacity'], topic: 'foundations' },
45
+ ];
46
+ export function queryStandards(query, maxResults = 5) {
47
+ const queryLower = query.toLowerCase();
48
+ const queryWords = queryLower.split(/\s+/).filter((w) => w.length > 2);
49
+ // Score each provision by keyword overlap
50
+ const scored = STANDARDS_DB.map((provision) => {
51
+ let score = 0;
52
+ const allText = [
53
+ ...provision.keywords,
54
+ provision.title.toLowerCase(),
55
+ provision.topic,
56
+ provision.standard.toLowerCase(),
57
+ ].join(' ');
58
+ for (const word of queryWords) {
59
+ if (allText.includes(word))
60
+ score += 2;
61
+ for (const kw of provision.keywords) {
62
+ if (kw.includes(word) || word.includes(kw))
63
+ score += 3;
64
+ }
65
+ }
66
+ // Boost exact topic match
67
+ if (provision.topic === queryLower || provision.keywords.includes(queryLower)) {
68
+ score += 10;
69
+ }
70
+ return { provision, score };
71
+ });
72
+ const matches = scored
73
+ .filter((s) => s.score > 0)
74
+ .sort((a, b) => b.score - a.score)
75
+ .slice(0, maxResults)
76
+ .map((s) => s.provision);
77
+ return {
78
+ query,
79
+ matches,
80
+ bestMatch: matches[0] ?? null,
81
+ };
82
+ }
83
+ export function listStandards() {
84
+ return STANDARDS_DB.map((s) => ({ id: s.id, standard: s.standard, title: s.title, topic: s.topic }));
85
+ }
86
+ export function getStandardById(id) {
87
+ return STANDARDS_DB.find((s) => s.id === id) ?? null;
88
+ }
89
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/standards/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ export interface ProjectMeta {
2
+ id: string;
3
+ name: string;
4
+ location?: string;
5
+ description?: string;
6
+ createdAt: string;
7
+ updatedAt: string;
8
+ }
9
+ export interface SoilProfile {
10
+ boreholeId: string;
11
+ layers: Array<{
12
+ depthFrom: number;
13
+ depthTo: number;
14
+ description: string;
15
+ uscs?: string;
16
+ sptN?: number;
17
+ unitWeight?: number;
18
+ cohesion?: number;
19
+ frictionAngle?: number;
20
+ }>;
21
+ waterTableDepth?: number;
22
+ }
23
+ export interface SimulationResult {
24
+ id: string;
25
+ tool: string;
26
+ args: Record<string, unknown>;
27
+ result: unknown;
28
+ summary: string;
29
+ timestamp: string;
30
+ }
31
+ export interface ProjectAssumption {
32
+ id: string;
33
+ text: string;
34
+ source?: string;
35
+ createdAt: string;
36
+ }
37
+ export interface ProjectArtifact {
38
+ id: string;
39
+ kind: string;
40
+ title: string;
41
+ content?: string;
42
+ path?: string;
43
+ mimeType?: string;
44
+ metadata?: Record<string, unknown>;
45
+ createdAt: string;
46
+ }
47
+ export interface ProjectDataset {
48
+ name: string;
49
+ kind: string;
50
+ data: unknown;
51
+ source?: string;
52
+ updatedAt: string;
53
+ }
54
+ export interface DerivedParameter {
55
+ name: string;
56
+ value: unknown;
57
+ source?: string;
58
+ updatedAt: string;
59
+ }
60
+ export interface ProjectAgentSession {
61
+ id: string;
62
+ mode: 'single' | 'swarm' | 'chat';
63
+ query: string;
64
+ answer?: string;
65
+ summary: string;
66
+ stepCount: number;
67
+ tokens: number;
68
+ latencyMs: number;
69
+ context: Record<string, unknown>;
70
+ metadata?: Record<string, unknown>;
71
+ createdAt: string;
72
+ }
73
+ export interface ActiveAnalysisContext {
74
+ currentTask?: string;
75
+ lastAgentMode?: ProjectAgentSession['mode'];
76
+ lastAnswer?: string;
77
+ context: Record<string, unknown>;
78
+ relatedDatasets: string[];
79
+ lastUpdatedAt: string;
80
+ }
81
+ export interface ProjectData {
82
+ meta: ProjectMeta;
83
+ soilProfiles: SoilProfile[];
84
+ simulationResults: SimulationResult[];
85
+ notes: string[];
86
+ preferences: Record<string, unknown>;
87
+ assumptions: ProjectAssumption[];
88
+ artifacts: ProjectArtifact[];
89
+ agentSessions: ProjectAgentSession[];
90
+ namedDatasets: Record<string, ProjectDataset>;
91
+ derivedParameters: Record<string, DerivedParameter>;
92
+ activeAnalysisContext: ActiveAnalysisContext;
93
+ }
94
+ export declare function createProject(name: string, options?: {
95
+ location?: string;
96
+ description?: string;
97
+ }): ProjectData;
98
+ export declare function loadProject(projectId: string): ProjectData;
99
+ export declare function saveProject(project: ProjectData): void;
100
+ export declare function listProjects(): ProjectMeta[];
101
+ export declare function deleteProject(projectId: string): void;
102
+ export declare function addSoilProfile(projectId: string, profile: SoilProfile): void;
103
+ export declare function addSimulationResult(projectId: string, result: Omit<SimulationResult, 'id' | 'timestamp'>): void;
104
+ export declare function addNote(projectId: string, note: string): void;
105
+ export declare function saveNamedDataset(projectId: string, dataset: Omit<ProjectDataset, 'updatedAt'>): void;
106
+ export declare function saveDerivedParameter(projectId: string, parameter: Omit<DerivedParameter, 'updatedAt'>): void;
107
+ export declare function addAssumption(projectId: string, assumption: Omit<ProjectAssumption, 'id' | 'createdAt'>): void;
108
+ export declare function addArtifact(projectId: string, artifact: Omit<ProjectArtifact, 'id' | 'createdAt'>): void;
109
+ export declare function addAgentSession(projectId: string, session: Omit<ProjectAgentSession, 'id' | 'createdAt'>): void;
110
+ export declare function setActiveAnalysisContext(projectId: string, context: Partial<Omit<ActiveAnalysisContext, 'lastUpdatedAt'>>): void;
111
+ export declare function setProjectPreference(projectId: string, key: string, value: unknown): void;
112
+ export declare function getSimulationHistory(projectId: string, tool?: string): SimulationResult[];
113
+ export declare function getProjectAgentContext(projectId: string): Record<string, unknown>;
114
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"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"}