@geotechcli/core 0.4.22 → 0.4.23

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 (144) hide show
  1. package/dist/agents/brain.d.ts.map +1 -1
  2. package/dist/agents/brain.js +2 -1
  3. package/dist/agents/brain.js.map +1 -1
  4. package/dist/agents/data-tools.js +759 -0
  5. package/dist/agents/data-tools.js.map +1 -1
  6. package/dist/agents/swarm.d.ts.map +1 -1
  7. package/dist/agents/swarm.js +22 -2
  8. package/dist/agents/swarm.js.map +1 -1
  9. package/dist/agents/tool-runtime.d.ts +7 -0
  10. package/dist/agents/tool-runtime.d.ts.map +1 -0
  11. package/dist/agents/tool-runtime.js +9 -0
  12. package/dist/agents/tool-runtime.js.map +1 -0
  13. package/dist/config/index.d.ts +4 -4
  14. package/dist/config/index.js +1 -1
  15. package/dist/config/index.js.map +1 -1
  16. package/dist/geo/coordinates.d.ts +40 -0
  17. package/dist/geo/coordinates.d.ts.map +1 -0
  18. package/dist/geo/coordinates.js +461 -0
  19. package/dist/geo/coordinates.js.map +1 -0
  20. package/dist/geo/index.d.ts +1 -0
  21. package/dist/geo/index.d.ts.map +1 -1
  22. package/dist/geo/index.js +1 -0
  23. package/dist/geo/index.js.map +1 -1
  24. package/dist/index.d.ts +3 -2
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +3 -2
  27. package/dist/index.js.map +1 -1
  28. package/dist/ingest/ags.d.ts +3 -0
  29. package/dist/ingest/ags.d.ts.map +1 -1
  30. package/dist/ingest/ags.js +98 -9
  31. package/dist/ingest/ags.js.map +1 -1
  32. package/dist/ingest/cpt.d.ts +4 -0
  33. package/dist/ingest/cpt.d.ts.map +1 -1
  34. package/dist/ingest/cpt.js +87 -25
  35. package/dist/ingest/cpt.js.map +1 -1
  36. package/dist/ingest/document-inputs.d.ts +37 -0
  37. package/dist/ingest/document-inputs.d.ts.map +1 -0
  38. package/dist/ingest/document-inputs.js +197 -0
  39. package/dist/ingest/document-inputs.js.map +1 -0
  40. package/dist/ingest/geotech-document.d.ts +118 -0
  41. package/dist/ingest/geotech-document.d.ts.map +1 -0
  42. package/dist/ingest/geotech-document.js +1006 -0
  43. package/dist/ingest/geotech-document.js.map +1 -0
  44. package/dist/ingest/geotech-extract.d.ts +86 -0
  45. package/dist/ingest/geotech-extract.d.ts.map +1 -0
  46. package/dist/ingest/geotech-extract.js +652 -0
  47. package/dist/ingest/geotech-extract.js.map +1 -0
  48. package/dist/ingest/geotech-schemas.d.ts +248 -0
  49. package/dist/ingest/geotech-schemas.d.ts.map +1 -0
  50. package/dist/ingest/geotech-schemas.js +150 -0
  51. package/dist/ingest/geotech-schemas.js.map +1 -0
  52. package/dist/ingest/index.d.ts +8 -0
  53. package/dist/ingest/index.d.ts.map +1 -1
  54. package/dist/ingest/index.js +8 -0
  55. package/dist/ingest/index.js.map +1 -1
  56. package/dist/ingest/ingest-job-child.d.ts +2 -0
  57. package/dist/ingest/ingest-job-child.d.ts.map +1 -0
  58. package/dist/ingest/ingest-job-child.js +45 -0
  59. package/dist/ingest/ingest-job-child.js.map +1 -0
  60. package/dist/ingest/job-store.d.ts +117 -0
  61. package/dist/ingest/job-store.d.ts.map +1 -0
  62. package/dist/ingest/job-store.js +541 -0
  63. package/dist/ingest/job-store.js.map +1 -0
  64. package/dist/ingest/job-worker.d.ts +24 -0
  65. package/dist/ingest/job-worker.d.ts.map +1 -0
  66. package/dist/ingest/job-worker.js +1129 -0
  67. package/dist/ingest/job-worker.js.map +1 -0
  68. package/dist/ingest/pdf.d.ts +102 -0
  69. package/dist/ingest/pdf.d.ts.map +1 -0
  70. package/dist/ingest/pdf.js +1544 -0
  71. package/dist/ingest/pdf.js.map +1 -0
  72. package/dist/ingest/review-store.d.ts +215 -0
  73. package/dist/ingest/review-store.d.ts.map +1 -0
  74. package/dist/ingest/review-store.js +1995 -0
  75. package/dist/ingest/review-store.js.map +1 -0
  76. package/dist/llm/capabilities.d.ts +8 -0
  77. package/dist/llm/capabilities.d.ts.map +1 -0
  78. package/dist/llm/capabilities.js +73 -0
  79. package/dist/llm/capabilities.js.map +1 -0
  80. package/dist/llm/index.d.ts +3 -2
  81. package/dist/llm/index.d.ts.map +1 -1
  82. package/dist/llm/index.js +2 -1
  83. package/dist/llm/index.js.map +1 -1
  84. package/dist/llm/providers/anthropic.d.ts +6 -0
  85. package/dist/llm/providers/anthropic.d.ts.map +1 -1
  86. package/dist/llm/providers/anthropic.js +10 -1
  87. package/dist/llm/providers/anthropic.js.map +1 -1
  88. package/dist/llm/providers/hosted-beta.d.ts +6 -0
  89. package/dist/llm/providers/hosted-beta.d.ts.map +1 -1
  90. package/dist/llm/providers/hosted-beta.js +40 -10
  91. package/dist/llm/providers/hosted-beta.js.map +1 -1
  92. package/dist/llm/providers/huggingface.d.ts +6 -0
  93. package/dist/llm/providers/huggingface.d.ts.map +1 -1
  94. package/dist/llm/providers/huggingface.js +21 -1
  95. package/dist/llm/providers/huggingface.js.map +1 -1
  96. package/dist/llm/providers/openai-compatible.d.ts +6 -0
  97. package/dist/llm/providers/openai-compatible.d.ts.map +1 -1
  98. package/dist/llm/providers/openai-compatible.js +21 -1
  99. package/dist/llm/providers/openai-compatible.js.map +1 -1
  100. package/dist/llm/providers/zhipu.d.ts +6 -0
  101. package/dist/llm/providers/zhipu.d.ts.map +1 -1
  102. package/dist/llm/providers/zhipu.js +15 -1
  103. package/dist/llm/providers/zhipu.js.map +1 -1
  104. package/dist/llm/router.d.ts +7 -0
  105. package/dist/llm/router.d.ts.map +1 -1
  106. package/dist/llm/router.js +33 -13
  107. package/dist/llm/router.js.map +1 -1
  108. package/dist/llm/types.d.ts +22 -4
  109. package/dist/llm/types.d.ts.map +1 -1
  110. package/dist/llm/types.js.map +1 -1
  111. package/dist/meta/metadata.json +1 -1
  112. package/dist/report/html.d.ts +3 -0
  113. package/dist/report/html.d.ts.map +1 -0
  114. package/dist/report/html.js +626 -0
  115. package/dist/report/html.js.map +1 -0
  116. package/dist/report/index.d.ts +2 -0
  117. package/dist/report/index.d.ts.map +1 -1
  118. package/dist/report/index.js +2 -0
  119. package/dist/report/index.js.map +1 -1
  120. package/dist/report/ingest-dossier.d.ts +81 -0
  121. package/dist/report/ingest-dossier.d.ts.map +1 -0
  122. package/dist/report/ingest-dossier.js +324 -0
  123. package/dist/report/ingest-dossier.js.map +1 -0
  124. package/dist/storage/index.d.ts +5 -0
  125. package/dist/storage/index.d.ts.map +1 -1
  126. package/dist/storage/index.js +12 -6
  127. package/dist/storage/index.js.map +1 -1
  128. package/dist/vision/geotech-document.d.ts +46 -0
  129. package/dist/vision/geotech-document.d.ts.map +1 -0
  130. package/dist/vision/geotech-document.js +576 -0
  131. package/dist/vision/geotech-document.js.map +1 -0
  132. package/dist/vision/index.d.ts +31 -0
  133. package/dist/vision/index.d.ts.map +1 -1
  134. package/dist/vision/index.js +659 -27
  135. package/dist/vision/index.js.map +1 -1
  136. package/dist/vision/ocr.d.ts +29 -0
  137. package/dist/vision/ocr.d.ts.map +1 -0
  138. package/dist/vision/ocr.js +287 -0
  139. package/dist/vision/ocr.js.map +1 -0
  140. package/dist/vision/preprocess.d.ts +26 -0
  141. package/dist/vision/preprocess.d.ts.map +1 -0
  142. package/dist/vision/preprocess.js +194 -0
  143. package/dist/vision/preprocess.js.map +1 -0
  144. package/package.json +5 -1
@@ -1,3 +1,4 @@
1
+ import { resolveProviderCapabilities } from '../capabilities.js';
1
2
  /**
2
3
  * OpenAI-compatible adapter.
3
4
  *
@@ -14,6 +15,12 @@ export class OpenAICompatibleAdapter {
14
15
  name;
15
16
  defaultModel;
16
17
  defaultVisionModel;
18
+ capabilities = {
19
+ text: true,
20
+ visionImages: true,
21
+ nativePdfDocuments: false,
22
+ jsonMode: true,
23
+ };
17
24
  baseUrl;
18
25
  constructor(options) {
19
26
  this.name = options?.name ?? 'openai';
@@ -27,6 +34,7 @@ export class OpenAICompatibleAdapter {
27
34
  }
28
35
  const effectiveBaseUrl = config.baseUrl ?? this.baseUrl;
29
36
  const model = request.model ?? config.modelId ?? this.defaultModel;
37
+ const capabilities = resolveProviderCapabilities(config, { model });
30
38
  const messages = request.messages.map((msg) => {
31
39
  if (typeof msg.content === 'string') {
32
40
  return { role: msg.role, content: msg.content };
@@ -36,7 +44,19 @@ export class OpenAICompatibleAdapter {
36
44
  role: msg.role,
37
45
  content: msg.content.map((part) => {
38
46
  if (part.type === 'text') {
39
- return { type: 'text', text: part.text ?? '' };
47
+ return { type: 'text', text: part.text };
48
+ }
49
+ if (part.type === 'document_url') {
50
+ if (!capabilities.nativePdfDocuments) {
51
+ throw new Error(`${this.name} with model "${model}" does not advertise native PDF document vision support. Export the page as PNG/JPG or use a provider/model with PDF-capable multimodal support.`);
52
+ }
53
+ return {
54
+ type: 'document_url',
55
+ document_url: {
56
+ url: part.document_url.url,
57
+ mimeType: part.document_url.mimeType,
58
+ },
59
+ };
40
60
  }
41
61
  return {
42
62
  type: 'image_url',
@@ -1 +1 @@
1
- {"version":3,"file":"openai-compatible.js","sourceRoot":"","sources":["../../../src/llm/providers/openai-compatible.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-compatible.js","sourceRoot":"","sources":["../../../src/llm/providers/openai-compatible.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,12 @@ export declare class ZhipuAdapter implements ProviderAdapter {
3
3
  readonly name: "zhipu";
4
4
  readonly defaultModel: string;
5
5
  readonly defaultVisionModel: string;
6
+ readonly capabilities: {
7
+ readonly text: true;
8
+ readonly visionImages: true;
9
+ readonly nativePdfDocuments: true;
10
+ readonly jsonMode: true;
11
+ };
6
12
  private readonly baseUrl;
7
13
  constructor(baseUrl?: string);
8
14
  complete(request: CompletionRequest, config: LLMConfig): Promise<CompletionResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"zhipu.d.ts","sourceRoot":"","sources":["../../../src/llm/providers/zhipu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACV,MAAM,aAAa,CAAC;AAwBrB,qBAAa,YAAa,YAAW,eAAe;IAClD,QAAQ,CAAC,IAAI,EAAG,OAAO,CAAU;IACjC,QAAQ,CAAC,YAAY,SAAqB;IAC1C,QAAQ,CAAC,kBAAkB,SAA4B;IAEvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,CAAC,EAAE,MAAM;IAItB,QAAQ,CACZ,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,kBAAkB,CAAC;CAoF/B"}
1
+ {"version":3,"file":"zhipu.d.ts","sourceRoot":"","sources":["../../../src/llm/providers/zhipu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACV,MAAM,aAAa,CAAC;AAwBrB,qBAAa,YAAa,YAAW,eAAe;IAClD,QAAQ,CAAC,IAAI,EAAG,OAAO,CAAU;IACjC,QAAQ,CAAC,YAAY,SAAqB;IAC1C,QAAQ,CAAC,kBAAkB,SAA4B;IACvD,QAAQ,CAAC,YAAY;;;;;MAKV;IAEX,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,CAAC,EAAE,MAAM;IAItB,QAAQ,CACZ,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,kBAAkB,CAAC;CA4F/B"}
@@ -4,6 +4,12 @@ export class ZhipuAdapter {
4
4
  name = 'zhipu';
5
5
  defaultModel = DEFAULT_LLM_MODEL;
6
6
  defaultVisionModel = DEFAULT_LLM_VISION_MODEL;
7
+ capabilities = {
8
+ text: true,
9
+ visionImages: true,
10
+ nativePdfDocuments: true,
11
+ jsonMode: true,
12
+ };
7
13
  baseUrl;
8
14
  constructor(baseUrl) {
9
15
  this.baseUrl = baseUrl ?? 'https://api.z.ai/api/paas/v4';
@@ -20,7 +26,15 @@ export class ZhipuAdapter {
20
26
  // Vision: convert ContentPart[] to Zhipu multimodal format
21
27
  const parts = msg.content.map((part) => {
22
28
  if (part.type === 'text') {
23
- return { type: 'text', text: part.text ?? '' };
29
+ return { type: 'text', text: part.text };
30
+ }
31
+ if (part.type === 'document_url') {
32
+ return {
33
+ type: 'image_url',
34
+ image_url: {
35
+ url: part.document_url.url,
36
+ },
37
+ };
24
38
  }
25
39
  return {
26
40
  type: 'image_url',
@@ -1 +1 @@
1
- {"version":3,"file":"zhipu.js","sourceRoot":"","sources":["../../../src/llm/providers/zhipu.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAmBnD,MAAM,OAAO,YAAY;IACd,IAAI,GAAG,OAAgB,CAAC;IACxB,YAAY,GAAG,iBAAiB,CAAC;IACjC,kBAAkB,GAAG,wBAAwB,CAAC;IAEtC,OAAO,CAAS;IAEjC,YAAY,OAAgB;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,8BAA8B,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,OAA0B,EAC1B,MAAiB;QAEjB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,wGAAwG,CACzG,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GACT,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC;QAEvD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5C,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACpC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;YAClD,CAAC;YACD,2DAA2D;YAC3D,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACzB,OAAO,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;gBAC1D,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,WAAoB;oBAC1B,SAAS,EAAE;wBACT,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE;qBAC/B;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAA4B;YACpC,KAAK;YACL,QAAQ;YACR,MAAM,EAAE,KAAK;SACd,CAAC;QAEF,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACzC,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;QACtC,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,CAAC,eAAe,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QACjD,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,mBAAmB,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEzB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE;aACzC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC;SACtD,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,MAAM,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAsB,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QAErC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;YAC5B,KAAK,EAAE;gBACL,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC;gBAC5C,gBAAgB,EAAE,IAAI,CAAC,KAAK,EAAE,iBAAiB,IAAI,CAAC;gBACpD,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC;aAC3C;YACD,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;YAC1B,QAAQ,EAAE,OAAO;YACjB,SAAS;SACV,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"zhipu.js","sourceRoot":"","sources":["../../../src/llm/providers/zhipu.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { LLMConfig, LLMProvider, ProviderAdapter, ProviderRegistry, CompletionResponse } from './types.js';
2
+ export { resolveProviderCapabilities, providerSupportsNativePdfDocuments, } from './capabilities.js';
2
3
  declare class Registry implements ProviderRegistry {
3
4
  private adapters;
4
5
  get(name: LLMProvider): ProviderAdapter;
@@ -32,4 +33,10 @@ export declare function generateVision(prompt: string, imageBase64: string, mime
32
33
  maxTokens?: number;
33
34
  model?: string;
34
35
  }): Promise<CompletionResponse>;
36
+ export declare function generateDocumentVision(prompt: string, documentBase64: string, mimeType: string, config: LLMConfig, options?: {
37
+ systemPrompt?: string;
38
+ temperature?: number;
39
+ maxTokens?: number;
40
+ model?: string;
41
+ }): Promise<CompletionResponse>;
35
42
  //# sourceMappingURL=router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/llm/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,eAAe,EACf,gBAAgB,EAEhB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAYpB,cAAM,QAAS,YAAW,gBAAgB;IACxC,OAAO,CAAC,QAAQ,CAA2C;IAE3D,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe;IAUvC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAIxC,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;CAGhC;AAED,QAAA,MAAM,QAAQ,UAAiB,CAAC;AA+BhC,OAAO,EAAE,QAAQ,EAAE,CAAC;AAQpB,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE;IACR,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,kBAAkB,CAAC,CAqB7B;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,EAC3E,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,kBAAkB,CAAC,CAY7B;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE;IACR,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,kBAAkB,CAAC,CAmC7B"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/llm/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,eAAe,EACf,gBAAgB,EAEhB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAOpB,OAAO,EACL,2BAA2B,EAC3B,kCAAkC,GACnC,MAAM,mBAAmB,CAAC;AAM3B,cAAM,QAAS,YAAW,gBAAgB;IACxC,OAAO,CAAC,QAAQ,CAA2C;IAE3D,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe;IAUvC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAIxC,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;CAGhC;AAED,QAAA,MAAM,QAAQ,UAAiB,CAAC;AA+BhC,OAAO,EAAE,QAAQ,EAAE,CAAC;AAQpB,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE;IACR,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,kBAAkB,CAAC,CAqB7B;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,EAC3E,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,kBAAkB,CAAC,CAY7B;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE;IACR,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,kBAAkB,CAAC,CAyB7B;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE;IACR,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,kBAAkB,CAAC,CAwB7B"}
@@ -4,6 +4,7 @@ import { AnthropicAdapter } from './providers/anthropic.js';
4
4
  import { HuggingFaceAdapter } from './providers/huggingface.js';
5
5
  import { HostedBetaAdapter } from './providers/hosted-beta.js';
6
6
  import { DEFAULT_LLM_MODEL, DEFAULT_LLM_VISION_MODEL } from '../meta/index.js';
7
+ export { resolveProviderCapabilities, providerSupportsNativePdfDocuments, } from './capabilities.js';
7
8
  // ---------------------------------------------------------------------------
8
9
  // Provider registry — singleton, adapters registered once at startup
9
10
  // ---------------------------------------------------------------------------
@@ -83,28 +84,47 @@ export async function generateVision(prompt, imageBase64, mimeType, config, opti
83
84
  const adapter = registry.get(config.provider);
84
85
  const visionModel = options?.model ?? config.visionModelId ?? adapter.defaultVisionModel;
85
86
  const dataUri = `data:${mimeType};base64,${imageBase64}`;
86
- const messages = [
87
+ const messages = buildMultimodalMessages({
88
+ type: 'image_url',
89
+ image_url: { url: dataUri },
90
+ }, prompt, options?.systemPrompt ??
91
+ `${GEOTECH_SYSTEM_PROMPT}\nYou are analyzing a geotechnical image. Provide precise, quantitative observations.`);
92
+ return adapter.complete({
93
+ messages,
94
+ temperature: options?.temperature,
95
+ maxTokens: options?.maxTokens,
96
+ model: visionModel,
97
+ }, config);
98
+ }
99
+ export async function generateDocumentVision(prompt, documentBase64, mimeType, config, options) {
100
+ const adapter = registry.get(config.provider);
101
+ const visionModel = options?.model ?? config.visionModelId ?? adapter.defaultVisionModel;
102
+ const dataUri = `data:${mimeType};base64,${documentBase64}`;
103
+ const messages = buildMultimodalMessages({
104
+ type: 'document_url',
105
+ document_url: { url: dataUri, mimeType },
106
+ }, prompt, options?.systemPrompt ??
107
+ `${GEOTECH_SYSTEM_PROMPT}\nYou are analyzing a geotechnical document page. Provide precise, quantitative observations.`);
108
+ return adapter.complete({
109
+ messages,
110
+ temperature: options?.temperature,
111
+ maxTokens: options?.maxTokens,
112
+ model: visionModel,
113
+ }, config);
114
+ }
115
+ function buildMultimodalMessages(mediaPart, prompt, systemPrompt) {
116
+ return [
87
117
  {
88
118
  role: 'system',
89
- content: options?.systemPrompt ??
90
- `${GEOTECH_SYSTEM_PROMPT}\nYou are analyzing a geotechnical image. Provide precise, quantitative observations.`,
119
+ content: systemPrompt,
91
120
  },
92
121
  {
93
122
  role: 'user',
94
123
  content: [
95
- {
96
- type: 'image_url',
97
- image_url: { url: dataUri },
98
- },
124
+ mediaPart,
99
125
  { type: 'text', text: prompt },
100
126
  ],
101
127
  },
102
128
  ];
103
- return adapter.complete({
104
- messages,
105
- temperature: options?.temperature,
106
- maxTokens: options?.maxTokens,
107
- model: visionModel,
108
- }, config);
109
129
  }
110
130
  //# sourceMappingURL=router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/llm/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/llm/router.ts"],"names":[],"mappings":"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"}
@@ -12,14 +12,25 @@ export interface ChatMessage {
12
12
  role: 'system' | 'user' | 'assistant';
13
13
  content: string | ContentPart[];
14
14
  }
15
- export interface ContentPart {
16
- type: 'text' | 'image_url';
17
- text?: string;
18
- image_url?: {
15
+ export interface TextContentPart {
16
+ type: 'text';
17
+ text: string;
18
+ }
19
+ export interface ImageUrlContentPart {
20
+ type: 'image_url';
21
+ image_url: {
19
22
  url: string;
20
23
  detail?: 'auto' | 'low' | 'high';
21
24
  };
22
25
  }
26
+ export interface DocumentUrlContentPart {
27
+ type: 'document_url';
28
+ document_url: {
29
+ url: string;
30
+ mimeType?: string;
31
+ };
32
+ }
33
+ export type ContentPart = TextContentPart | ImageUrlContentPart | DocumentUrlContentPart;
23
34
  export interface CompletionRequest {
24
35
  messages: ChatMessage[];
25
36
  temperature?: number;
@@ -40,10 +51,17 @@ export interface TokenUsage {
40
51
  completionTokens: number;
41
52
  totalTokens: number;
42
53
  }
54
+ export interface ProviderCapabilities {
55
+ text: boolean;
56
+ visionImages: boolean;
57
+ nativePdfDocuments: boolean;
58
+ jsonMode: boolean;
59
+ }
43
60
  export interface ProviderAdapter {
44
61
  readonly name: LLMProvider;
45
62
  readonly defaultModel: string;
46
63
  readonly defaultVisionModel: string;
64
+ readonly capabilities: ProviderCapabilities;
47
65
  complete(request: CompletionRequest, config: LLMConfig): Promise<CompletionResponse>;
48
66
  }
49
67
  export interface ProviderRegistry {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/llm/types.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,GACnB,aAAa,GACb,OAAO,GACP,QAAQ,GACR,WAAW,GACX,mBAAmB,GACnB,aAAa,CAAC;AAElB,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,WAAW,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC;CAC/D;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACtF;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;CACjC;AAGD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE9D,MAAM,WAAW,UAAU;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,CAiCpD,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/llm/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/llm/types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2DAA2D;AAC3D,8EAA8E;AA+E9E,MAAM,CAAC,MAAM,WAAW,GAAiC;IACvD,IAAI,EAAE;QACJ,gBAAgB,EAAE,EAAE;QACpB,mBAAmB,EAAE,EAAE;QACvB,kBAAkB,EAAE,CAAC;QACrB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,KAAK;QACnB,gBAAgB,EAAE,KAAK;KACxB;IACD,QAAQ,EAAE;QACR,gBAAgB,EAAE,IAAI;QACtB,mBAAmB,EAAE,GAAG;QACxB,kBAAkB,EAAE,GAAG;QACvB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,KAAK;QACnB,gBAAgB,EAAE,IAAI;KACvB;IACD,GAAG,EAAE;QACH,gBAAgB,EAAE,QAAQ;QAC1B,mBAAmB,EAAE,QAAQ;QAC7B,kBAAkB,EAAE,QAAQ;QAC5B,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,IAAI;QAClB,gBAAgB,EAAE,IAAI;KACvB;IACD,MAAM,EAAE;QACN,gBAAgB,EAAE,QAAQ;QAC1B,mBAAmB,EAAE,QAAQ;QAC7B,kBAAkB,EAAE,QAAQ;QAC5B,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,IAAI;QAClB,gBAAgB,EAAE,IAAI;KACvB;CACF,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/llm/types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2DAA2D;AAC3D,8EAA8E;AAqG9E,MAAM,CAAC,MAAM,WAAW,GAAiC;IACvD,IAAI,EAAE;QACJ,gBAAgB,EAAE,EAAE;QACpB,mBAAmB,EAAE,EAAE;QACvB,kBAAkB,EAAE,CAAC;QACrB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,KAAK;QACnB,gBAAgB,EAAE,KAAK;KACxB;IACD,QAAQ,EAAE;QACR,gBAAgB,EAAE,IAAI;QACtB,mBAAmB,EAAE,GAAG;QACxB,kBAAkB,EAAE,GAAG;QACvB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,KAAK;QACnB,gBAAgB,EAAE,IAAI;KACvB;IACD,GAAG,EAAE;QACH,gBAAgB,EAAE,QAAQ;QAC1B,mBAAmB,EAAE,QAAQ;QAC7B,kBAAkB,EAAE,QAAQ;QAC5B,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,IAAI;QAClB,gBAAgB,EAAE,IAAI;KACvB;IACD,MAAM,EAAE;QACN,gBAAgB,EAAE,QAAQ;QAC1B,mBAAmB,EAAE,QAAQ;QAC7B,kBAAkB,EAAE,QAAQ;QAC5B,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,IAAI;QAClB,gBAAgB,EAAE,IAAI;KACvB;CACF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.4.22",
2
+ "version": "0.4.23",
3
3
  "defaults": {
4
4
  "provider": "hosted-beta",
5
5
  "model": "Qwen/Qwen3.5-9B",
@@ -0,0 +1,3 @@
1
+ import type { IngestDossier } from './ingest-dossier.js';
2
+ export declare function renderIngestDossierAsHtml(dossier: IngestDossier): string;
3
+ //# sourceMappingURL=html.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/report/html.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAyC,MAAM,qBAAqB,CAAC;AAmEhG,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAojBxE"}