feat: initial text-translate v0.1.0 (text.translate@0.1.0)
All checks were successful
CI / Linux x86_64 (Forgejo) (push) Successful in 1m34s

Ollama-backed translation module — third real F∆I capability,
following text.extract and llm.chat. Used for the second leg of
a regulated document workflow (extract -> translate -> review
-> summarise).

Capability:
  Inputs:
    text             : text   (source text)
    target_language  : text   (e.g. "German", "French")
    source_language  : text   (optional hint; empty = auto)
    endpoint         : text   (Ollama /api/chat URL)
    model            : text
    api_key          : text   (optional)

  Outputs:
    translation      : text
    source_language  : text   (echo for audit)
    target_language  : text   (echo for audit)
    model_endpoint   : text
    model_name       : text
    model_digest     : text   (Ollama /api/show probe; empty
                                for non-Ollama or transient
                                failures)

  Permissions: net to localhost / 127.0.0.1 / api.openai.com /
               api.anthropic.com.

The translation prompt is conservative: a fixed system prompt
demands faithful translation with structure preservation and
emits no metadata, no quoting. The user prompt names the target
language and (when supplied) the source language. The LLM
client + digest-probe pattern is reused verbatim from llm-chat;
when a third module joins, the shared client moves into a small
crate.

14 host-side tests cover prompt-building, Ollama-shaped response
parsing, URL transform, digest extraction (top-level + nested),
end-to-end success, end-to-end probe-failure swallow, and
end-to-end skip-for-non-Ollama.

Wasm artifact verified to build with v1.0 fai:platform imports
baked in. Bootstrapped via 'fai new module text.translate'.

Signed-off-by: flemming-it <sf@flemming.it>
This commit is contained in:
flemming-it 2026-05-04 10:53:10 +02:00
commit a4c2c0e14e
11 changed files with 1440 additions and 0 deletions

14
NOTICE Normal file
View file

@ -0,0 +1,14 @@
text-translate
Copyright 2026 Flemming.AI
This product includes software developed by Dr. Stefan Flemming
and contributors (https://flemming.ai/).
------------------------------------------------------------------
Third-party acknowledgments
The Ollama-compatible chat client uses the `waki` (wasi-http)
crate on the wasm32 target plus the `serde` and `quick-xml`
ecosystem on the host build. Runtime dependencies and their
licenses are documented in the Software Bill of Materials (SBOM)
generated on every release.