Skip to content
This repository was archived by the owner on Mar 30, 2026. It is now read-only.

Commit ac3510e

Browse files
ruttydmclaude
andcommitted
refactor: Rename package from ai-tool-core to integration-core
- Package: opencompanyapp/ai-tool-core -> opencompanyapp/integration-core - Namespace: OpenCompany\AiToolCore -> OpenCompany\IntegrationCore - Service provider: AiToolCoreServiceProvider -> IntegrationCoreServiceProvider - Broadened description to reflect support for integrations beyond AI tools Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 01bf5e2 commit ac3510e

8 files changed

Lines changed: 32 additions & 32 deletions

README.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
# AI Tool Core
1+
# Integration Core
22

3-
> Core framework for building AI tool packages for the [Laravel AI SDK](https://github.com/laravel/ai). Part of the [OpenCompany](https://github.com/OpenCompanyApp) AI tool ecosystem.
3+
> Core framework for building integration packages for the [Laravel AI SDK](https://github.com/laravel/ai). Part of the [OpenCompany](https://github.com/OpenCompanyApp) ecosystem.
44
5-
Provides the contracts, credential abstraction, and auto-discovery registry that all OpenCompany AI tool packages build on. Think of it as the shared foundation — like n8n's node SDK, but for Laravel AI agents.
5+
Provides the contracts, credential abstraction, and auto-discovery registry that all OpenCompany integration packages build on. Think of it as the shared foundation — like n8n's node SDK, but for Laravel AI agents.
66

77
## About OpenCompany
88

99
[OpenCompany](https://github.com/OpenCompanyApp) is an AI-powered workplace platform where teams deploy and coordinate multiple AI agents alongside human collaborators. It combines team messaging, document collaboration, task management, and intelligent automation in a single workspace — with built-in approval workflows and granular permission controls so organizations can adopt AI agents safely and transparently.
1010

11-
This core package enables OpenCompany's plugin architecture for AI tools — each external integration (astronomy, analytics, messaging, etc.) is a separate Composer package that any Laravel app can install independently.
11+
This core package enables OpenCompany's plugin architecture for integrations — each external integration (astronomy, analytics, messaging, etc.) is a separate Composer package that any Laravel app can install independently.
1212

1313
OpenCompany is built with Laravel, Vue 3, and Inertia.js. Learn more at [github.com/OpenCompanyApp](https://github.com/OpenCompanyApp).
1414

1515
## Installation
1616

1717
```console
18-
composer require opencompanyapp/ai-tool-core
18+
composer require opencompanyapp/integration-core
1919
```
2020

2121
Laravel auto-discovers the service provider. No manual registration needed.
@@ -24,19 +24,19 @@ Laravel auto-discovers the service provider. No manual registration needed.
2424

2525
| Component | Purpose |
2626
|-----------|---------|
27-
| `ToolProvider` interface | Contract every tool package implements — declares tools, metadata, and factory method |
27+
| `ToolProvider` interface | Contract every integration package implements — declares tools, metadata, and factory method |
2828
| `CredentialResolver` interface | Abstraction for API keys/config — swap between config files, databases, or vaults |
2929
| `ConfigCredentialResolver` | Default resolver that reads from `config/ai-tools.php` |
3030
| `ToolProviderRegistry` | Singleton registry that collects all tool providers for discovery |
31-
| `AiToolCoreServiceProvider` | Binds everything with sensible defaults (all overridable) |
31+
| `IntegrationCoreServiceProvider` | Binds everything with sensible defaults (all overridable) |
3232

33-
## Quick Start: Building a Tool Package
33+
## Quick Start: Building an Integration Package
3434

3535
### 1. Implement `ToolProvider`
3636

3737
```php
3838
use Laravel\Ai\Contracts\Tool;
39-
use OpenCompany\AiToolCore\Contracts\ToolProvider;
39+
use OpenCompany\IntegrationCore\Contracts\ToolProvider;
4040

4141
class WeatherToolProvider implements ToolProvider
4242
{
@@ -75,7 +75,7 @@ class WeatherToolProvider implements ToolProvider
7575

7676
public function createTool(string $class, array $context = []): Tool
7777
{
78-
$credentials = app(\OpenCompany\AiToolCore\Contracts\CredentialResolver::class);
78+
$credentials = app(\OpenCompany\IntegrationCore\Contracts\CredentialResolver::class);
7979

8080
return new GetWeather(
8181
apiKey: $credentials->get('weather', 'api_key'),
@@ -88,7 +88,7 @@ class WeatherToolProvider implements ToolProvider
8888
### 2. Register in Your Service Provider
8989

9090
```php
91-
use OpenCompany\AiToolCore\Support\ToolProviderRegistry;
91+
use OpenCompany\IntegrationCore\Support\ToolProviderRegistry;
9292

9393
class WeatherServiceProvider extends ServiceProvider
9494
{
@@ -137,7 +137,7 @@ class GetWeather implements Tool
137137

138138
## Credential Management
139139

140-
The `CredentialResolver` interface abstracts where API keys come from. Tool packages call `CredentialResolver` to get credentials without knowing or caring about the storage backend.
140+
The `CredentialResolver` interface abstracts where API keys come from. Integration packages call `CredentialResolver` to get credentials without knowing or caring about the storage backend.
141141

142142
**In OpenCompany**, credentials are managed through the Integrations UI and stored encrypted in the database. Users never need to touch config files — everything is configured through the admin interface.
143143

@@ -157,14 +157,14 @@ You can swap the resolver to use any storage backend (database, vault, secrets m
157157

158158
```php
159159
$this->app->singleton(
160-
\OpenCompany\AiToolCore\Contracts\CredentialResolver::class,
160+
\OpenCompany\IntegrationCore\Contracts\CredentialResolver::class,
161161
YourCustomResolver::class
162162
);
163163
```
164164

165-
## Tool Packages
165+
## Integration Packages
166166

167-
All installed tool packages auto-register via Laravel service provider discovery. The `ToolProviderRegistry` collects them:
167+
All installed integration packages auto-register via Laravel service provider discovery. The `ToolProviderRegistry` collects them:
168168

169169
```php
170170
$registry = app(ToolProviderRegistry::class);

composer.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
{
2-
"name": "opencompanyapp/ai-tool-core",
3-
"description": "Core framework for OpenCompany AI tool packages — ToolProvider contract, credential abstraction, and auto-discovery for Laravel AI SDK tools.",
2+
"name": "opencompanyapp/integration-core",
3+
"description": "Core framework for OpenCompany integration packages — contracts, credential abstraction, and auto-discovery registry for Laravel.",
44
"license": "MIT",
55
"authors": [
66
{
77
"name": "OpenCompany",
88
"homepage": "https://github.com/OpenCompanyApp"
99
}
1010
],
11-
"keywords": ["laravel", "ai", "tools", "agents", "opencompany"],
11+
"keywords": ["laravel", "integrations", "tools", "agents", "opencompany"],
1212
"require": {
1313
"php": "^8.2",
1414
"laravel/ai": "^0.1",
1515
"illuminate/support": "^11.0 || ^12.0"
1616
},
1717
"autoload": {
1818
"psr-4": {
19-
"OpenCompany\\AiToolCore\\": "src/"
19+
"OpenCompany\\IntegrationCore\\": "src/"
2020
}
2121
},
2222
"extra": {
2323
"laravel": {
2424
"providers": [
25-
"OpenCompany\\AiToolCore\\AiToolCoreServiceProvider"
25+
"OpenCompany\\IntegrationCore\\IntegrationCoreServiceProvider"
2626
]
2727
}
2828
},

src/Contracts/ConfigurableIntegration.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace OpenCompany\AiToolCore\Contracts;
3+
namespace OpenCompany\IntegrationCore\Contracts;
44

55
interface ConfigurableIntegration
66
{

src/Contracts/CredentialResolver.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace OpenCompany\AiToolCore\Contracts;
3+
namespace OpenCompany\IntegrationCore\Contracts;
44

55
interface CredentialResolver
66
{

src/Contracts/ToolProvider.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace OpenCompany\AiToolCore\Contracts;
3+
namespace OpenCompany\IntegrationCore\Contracts;
44

55
use Laravel\Ai\Contracts\Tool;
66

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
<?php
22

3-
namespace OpenCompany\AiToolCore;
3+
namespace OpenCompany\IntegrationCore;
44

55
use Illuminate\Support\ServiceProvider;
6-
use OpenCompany\AiToolCore\Contracts\CredentialResolver;
7-
use OpenCompany\AiToolCore\Support\ConfigCredentialResolver;
8-
use OpenCompany\AiToolCore\Support\ToolProviderRegistry;
6+
use OpenCompany\IntegrationCore\Contracts\CredentialResolver;
7+
use OpenCompany\IntegrationCore\Support\ConfigCredentialResolver;
8+
use OpenCompany\IntegrationCore\Support\ToolProviderRegistry;
99

10-
class AiToolCoreServiceProvider extends ServiceProvider
10+
class IntegrationCoreServiceProvider extends ServiceProvider
1111
{
1212
public function register(): void
1313
{

src/Support/ConfigCredentialResolver.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?php
22

3-
namespace OpenCompany\AiToolCore\Support;
3+
namespace OpenCompany\IntegrationCore\Support;
44

5-
use OpenCompany\AiToolCore\Contracts\CredentialResolver;
5+
use OpenCompany\IntegrationCore\Contracts\CredentialResolver;
66

77
/**
88
* Default credential resolver that reads from Laravel config.

src/Support/ToolProviderRegistry.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?php
22

3-
namespace OpenCompany\AiToolCore\Support;
3+
namespace OpenCompany\IntegrationCore\Support;
44

5-
use OpenCompany\AiToolCore\Contracts\ToolProvider;
5+
use OpenCompany\IntegrationCore\Contracts\ToolProvider;
66

77
class ToolProviderRegistry
88
{

0 commit comments

Comments
 (0)