feat(oci-document): add native Document Understanding integration - #7551
feat(oci-document): add native Document Understanding integration#7551BillLeoutsakosvl346 wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Greptile SummaryAdds a native OCI Document Understanding integration spanning workflow configuration, authenticated execution, document normalization, asynchronous processor jobs, artifact retrieval, resource selectors, generated metadata, deployment configuration, documentation, and focused tests.
Confidence Score: 5/5The PR appears safe to merge based on the changes since the previous review, which are formatting-only and introduce no new actionable defects. No new correctness, security, or repository-rule violations were identified. BillLeoutsakosvl346 accepted the previously reported duplicate-paid-analysis risk as deferred shared-platform ownership because the generic executor drops the non-retryable marker and this integration has no local retry-policy hook; the thread was then manually resolved.
|
| Filename | Overview |
|---|---|
| apps/sim/blocks/blocks/oci_document_understanding.ts | Defines the ten-operation workflow block, conditional configuration fields, selectors, canonical input mapping, and exposed outputs. |
| apps/sim/lib/internal/oci-document-understanding/operations.ts | Implements authenticated OCI document-analysis, processor-job, model, project, and Object Storage operations. |
| apps/sim/lib/internal/oci-document-understanding/document-input.ts | Validates and constructs bounded inline-file and Object Storage document inputs. |
| apps/sim/lib/internal/oci-document-understanding/normalizers.ts | Projects provider responses into bounded workflow outputs with explicit truncation metadata. |
| apps/sim/lib/internal/oci-document-understanding/execute-tool.ts | Connects registered tools to authenticated operations while retaining operation-level error metadata. |
| apps/sim/tools/oci_document_understanding/get_job_output.ts | Retrieves authenticated job artifacts as bounded structured analysis or persisted Sim files. |
| apps/sim/lib/selectors/server/providers/oci-document-understanding.ts | Provides authenticated project, model, and artifact discovery for workflow selectors. |
| apps/sim/tools/registry.ts | Registers all OCI Document Understanding tools in the executable tool catalog. |
| packages/deployment-config/src/integrations.json | Adds deployment availability metadata for the new OCI integration. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart LR
W[Workflow block] --> T[OCI Document Understanding tool]
T --> E[Authenticated in-process operation]
E --> OCI[OCI Document Understanding API]
E --> OS[OCI Object Storage]
OCI --> A[Synchronous normalized analysis]
OCI --> J[Processor job status]
OS --> L[Artifact listing]
OS --> R[Bounded structured result or persisted Sim file]
A --> W
J --> W
L --> W
R --> W
Reviews (5): Last reviewed commit: "feat(oci-document): add native Document ..." | Re-trigger Greptile
7b59ece to
78fb7a0
Compare
78fb7a0 to
87f7082
Compare
87f7082 to
1d1ec92
Compare
1d1ec92 to
60bb23e
Compare
Adds native OCI Document Understanding for text, tables, key-value extraction and document/language classification, plus processor jobs, cancellation, artifact retrieval, and project/model discovery. Stacked directly on #7444 (
feat/oci-foundation); uses its OCI credentials, endpoint policies and authenticated client without changing the foundation.One block exposes ten operations with project, model and artifact selectors. Inputs distinguish authorized Sim files from Oracle namespace/bucket/object references. Results project documented page text, cells, fields, confidence and optional geometry with explicit truncation; larger artifacts are persisted as Sim files. Job output retrieval uses the foundation's Object Storage transport and has no dependency on the Object Storage product branch. Reuses NetSuiteIcon and existing artifact generators.
Validation: all 57 tests in seven focused mocked test files passed and cover analysis variants, byte/page bounds, partial results, file authorization/provenance, credential binding, pagination, job submission/cancellation and artifact persistence. The GitHub Test and Build run passed on
60bb23eb90: lint, repository audits, generated-doc checks, workspace typechecks, all three test shards, schema consistency and the app build. All executable validation ran exclusively on GitHub. No live Oracle processing or tenant changes. The independent integration reviewer approved the combined foundation and child behavior. Greptile reports 5/5 on the final commit with zero open review threads; Cubic was intentionally not retriggered.Known shared limitation: GenericBlockHandler drops tool-level
retryable: falsewhen wrapping failures. This PR does not alter the shared executor. Synchronous analysis makes one OCI transport attempt; leave block/workflow retries disabled to avoid duplicate paid analysis. Job submission derives a token from complete workflow invocation identity, accepts an explicit token for deliberate replays, and otherwise generates one per call. Oracle tokens expire after 24 hours and can be invalidated earlier. The inherited executor issue needs a separate platform fix; no OCI foundation capability changes are required.API references: Document Understanding, REST API, and Oracle Python SDK contract. Custom model creation/training, separate Generative AI APIs, arbitrary document URLs and undocumented ZIP/manifest contracts are outside this integration.