1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
//! Platform tools for managing Syncable platform resources
//!
//! This module provides agent tools for interacting with the Syncable Platform API:
//! - Listing organizations and projects
//! - Selecting and managing project context
//! - Querying current context state
//! - Cloud provider connection management
//! - Service deployment management
//! - Service log retrieval
//! - Project analysis for deployment
//!
//! ## Tools
//!
//! - `ListOrganizationsTool` - List organizations the user belongs to
//! - `ListProjectsTool` - List projects within an organization
//! - `SelectProjectTool` - Select a project as the current context
//! - `CurrentContextTool` - Get the currently selected project context
//! - `OpenProviderSettingsTool` - Open cloud provider settings in browser
//! - `CheckProviderConnectionTool` - Check if a cloud provider is connected
//! - `ListDeploymentConfigsTool` - List deployment configurations for a project
//! - `TriggerDeploymentTool` - Trigger a deployment using a config
//! - `GetDeploymentStatusTool` - Get deployment task status
//! - `ListDeploymentsTool` - List recent deployments for a project
//! - `GetServiceLogsTool` - Get container logs for a deployed service
//! - `AnalyzeProjectTool` - Analyze project for Dockerfiles and deployment options
//! - `AnalyzeCodebaseTool` - Comprehensive codebase analysis (languages, frameworks, ports, env vars)
//! - `ListDeploymentCapabilitiesTool` - List available deployment targets and providers
//! - `CreateDeploymentConfigTool` - Create a new deployment configuration
//! - `ProvisionRegistryTool` - Provision a new container registry
//!
//! ## Prerequisites
//!
//! All tools require the user to be authenticated via `sync-ctl auth login`.
//!
//! ## Example Flow
//!
//! 1. User asks: "What projects do I have access to?"
//! 2. Agent calls `list_organizations` to get available organizations
//! 3. Agent calls `list_projects` for each organization
//! 4. User asks: "Select the 'my-project' project"
//! 5. Agent calls `select_project` with the project and organization IDs
//! 6. Agent can then use `current_context` to verify the selection
//!
//! ## Cloud Provider Connection Flow
//!
//! 1. Agent calls `check_provider_connection` to see if GCP/AWS/etc is connected
//! 2. If not connected, agent calls `open_provider_settings` to open browser
//! 3. User completes OAuth flow in browser
//! 4. Agent calls `check_provider_connection` again to verify
//!
//! ## Deployment Flow
//!
//! 1. Agent calls `list_deployment_configs` to see available deployment configs
//! 2. Agent calls `trigger_deployment` with project_id and config_id
//! 3. Agent calls `get_deployment_status` with task_id to monitor progress
//! 4. Agent calls `list_deployments` to see deployment history and public URLs
//! 5. Agent calls `get_service_logs` to view container logs for debugging
//!
//! **SECURITY NOTE:** The agent NEVER handles actual credentials (OAuth tokens,
//! API keys). It only checks connection STATUS. All credential handling happens
//! securely in the browser through the platform's OAuth flow.
pub use AnalyzeCodebaseTool;
pub use AnalyzeProjectTool;
pub use CheckProviderConnectionTool;
pub use CreateDeploymentConfigTool;
pub use CurrentContextTool;
pub use ;
pub use GetDeploymentStatusTool;
pub use GetServiceLogsTool;
pub use ListDeploymentCapabilitiesTool;
pub use ListDeploymentConfigsTool;
pub use ListDeploymentsTool;
pub use ListHetznerAvailabilityTool;
pub use ListOrganizationsTool;
pub use ListProjectsTool;
pub use OpenProviderSettingsTool;
pub use ProvisionRegistryTool;
pub use SelectProjectTool;
pub use SetDeploymentSecretsTool;
pub use TriggerDeploymentTool;