Skip to content

IntelliSense Auto-MappingΒΆ

IntelliSense is BizMetry's AI-assisted auto-mapping engine that analyzes your source API fields and target Frame components and automatically suggests β€” or directly populates β€” the most semantically appropriate mappings between them.

It is powered by sentence-transformers running on the bizmetry-llm service, which computes vector embeddings for field names and component names, clusters them by semantic similarity, and proposes the highest-confidence matches.


🧠 How It Works¢

  1. Embedding generation β€” BizMetry sends the names and descriptions of all source fields (from all selected operations) and all target frame components to the bizmetry-llm service.
  2. Semantic similarity scoring β€” the LLM service computes cosine similarity between each source/target pair using sentence-transformer embeddings.
  3. Clustering β€” fields are grouped into similarity clusters. High-confidence matches (above a configurable threshold) are proposed as direct mappings.
  4. BMEL generation β€” for target components that require a computed value or where multiple source fields are strong candidates, IntelliSense generates a BMEL expression (e.g., CONCAT(...) for composite fields, FIRST(...) for array-to-scalar extraction).
  5. Canvas population β€” the mapper canvas is auto-populated with connector lines for all proposed mappings. Low-confidence matches are shown with a visual indicator so you can review them.
sequenceDiagram
    participant User
    participant Mapper
    participant LLM as bizmetry-llm
    participant Canvas

    User->>Mapper: Click "IntelliSense"
    Mapper->>LLM: POST /api/intellisense/suggest\n{sourceFields, targetComponents}
    LLM-->>Mapper: Similarity scores + suggested mappings
    Mapper->>Canvas: Populate connectors
    Canvas-->>User: Auto-mapped canvas (review mode)

⚑ Running IntelliSense¢

  1. In the mapping canvas (Step 6 of the wizard), click the "IntelliSense" button in the toolbar.
  2. BizMetry sends the field schema to the LLM service β€” this may take 1–3 seconds.
  3. The canvas is populated with auto-generated connectors.

Screenshot pending

Capture required: Mapper toolbar with the IntelliSense button highlighted, and the canvas after running showing auto-generated connectors with confidence indicators.


🎯 Confidence Indicators¢

After IntelliSense runs, each auto-generated connector shows a confidence indicator:

Indicator Meaning
🟒 High confidence Semantic similarity above 0.85. Likely correct β€” review briefly.
🟑 Medium confidence Similarity between 0.60 and 0.85. Verify the mapping makes business sense.
πŸ”΄ Low confidence Similarity below 0.60. IntelliSense made a best-effort guess β€” manual review required.

Low-confidence connectors

Low-confidence connectors are shown with a dashed line. You can delete them, redirect them manually, or open the BMEL editor to refine the expression.


πŸ“‹ Reviewing Auto-MappingsΒΆ

After IntelliSense runs, you should:

  1. Scan all connectors β€” verify that each auto-generated mapping makes semantic sense for your business domain.
  2. Check BMEL expressions β€” click the Ζ’ icon on any BMEL connector to review the generated expression in the editor.
  3. Delete wrong mappings β€” click a connector and press Delete to remove an incorrect auto-mapping.
  4. Add missing mappings β€” manually draw connectors for any target components that IntelliSense left unmapped.
  5. Adjust expressions β€” open the BMEL editor on any connector to refine an auto-generated expression.

Screenshot pending

Capture required: Post-IntelliSense canvas in review mode with green, yellow, and red confidence connectors visible.


πŸ” Re-running IntelliSenseΒΆ

You can run IntelliSense multiple times. Each run replaces existing auto-generated connectors but preserves any connectors you manually added or edited.

Manual connectors are preserved

Connectors you drew manually or edited after a previous IntelliSense run are tagged as "manual" and will not be overwritten by subsequent IntelliSense runs.


πŸ› Nested Array FieldsΒΆ

When a source field is the child of an array (e.g., $.orders[].total), IntelliSense handles it differently from scalar fields:

  • The array parent is listed as a source with a badge showing its child count.
  • Child fields of the array are shown expanded below the parent.
  • When IntelliSense matches an array child to a scalar target component, it generates a BMEL expression using FIRST() or SUM() depending on the target type.

Screenshot pending

Capture required: Source panel showing an array field expanded with child fields visible, and a BMEL connector from a child field to a scalar target component.

Known limitation

IntelliSense for deeply nested array children (more than 2 levels) may show only the parent array in the source panel for auto-mapped connectors. You can manually open the BMEL editor and write the full dot-path reference to access deeper nesting.


βš™οΈ IntelliSense ArchitectureΒΆ

IntelliSense runs as a scatter-gather parallel operation on the backend:

  • Each operation's fields are sent to the LLM service concurrently via a ThreadPoolExecutor.
  • Results are gathered and merged, deduplicated, and ranked by score.
  • The final ranked list is returned to the frontend in a single response.

This parallelization means IntelliSense performance scales with the number of operations selected, not with the total number of fields β€” making it fast even for large API schemas.