{"repo":"circlefin/circle-ooak","free":true,"listed":false,"github":"https://github.com/circlefin/circle-ooak","clone":"git clone https://github.com/circlefin/circle-ooak.git","description":"OOAK: Object-Oriented Agent Kit.","language":"Python","stars":20,"topics":["agents","ai","intents","research","workflow"],"license":"Apache-2.0","category":"workflow-automation","readme_excerpt":"Circle OOAK: Object-Oriented Agent Kit License This work is licensed under Apache 2.0. See SPDX-License-Identifier in the file headings. SPDX-License-Identifier: Apache-2.0 It has not been audited, comes with no guarantees, and is provided as is. Use at your own risk. Introduction This project creates an extension to the OpenAI Agents SDK. - The @agent tool decorator can be used with object instance methods instead of @function tool which only supports static functions. - The @secure tool decorator can be used instead of the @agent tool decorator to add before/after hooks to your tool code. - An InstanceAgent subclass that can use @agent tool and @secure tool . An InstanceAgent is a subclass of a regular OpenAI Agents SDK Agent and can interact with other agents via handoffs and guardrails. This package includes a WorkflowManager that implements the abstract SecureContext , that checks that intended actions have been approved. 1. Create intent. The agent calls the @secure tool function with wfid=None argument. Instead of executing the function, it returns an intent: a JSON representation of the function call. 2. Get approval. The agent calls the WorkflowManager with a list of intents. The manager invokes get approval() (which you override to connect your UX or policy) and, if approved, returns a wfid . 3. Execute. The agent now calls the @secure tools in the correct order with the wfid . The WorkflowManager ensures that each subsequent function call matches the approved workf","default_branch":null,"files":null,"tree":[],"storefront":"/r/circlefin","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/circlefin/circle-ooak/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}