Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions connectors/asana.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
id: asana
type: issue_tracker
version: "1.0.0"
capabilities:
- sync_issues
- create_task
- update_task
- comment_task
mailbox_in: queue.asana.in
mailbox_out: queue.asana.out
scheduler:
poll_interval: 180
cron_rules: []
triggers:
- sync_issues
state:
auth:
base_url: "https://app.asana.com/api/1.0"
token: "${ASANA_TOKEN}"
cursor:
last_sync_time: null
last_issue_cursor: null
cache: {}
metrics: {}
health:
status: ok
last_heartbeat: null
policies:
rate_limit:
max_per_minute: 30
retry:
max_attempts: 3
backoff_seconds: 5
circuit_breaker:
failure_threshold: 5
reset_timeout_seconds: 60
auth_scope:
workspaces: []
guardrails:
allow_auto_create_blocker: false
contracts:
input_schema: {}
output_schema: {}
error_schema: {}
59 changes: 59 additions & 0 deletions connectors/conductor.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
id: conductor
type: orchestrator
version: "1.0.0"
capabilities:
- plan_workflow
- route_messages
- schedule
- aggregate_results
- auto_trigger_workflow
- activate_agents
- coordinate_claims
mailbox_in: queue.conductor.in
mailbox_out: queue.conductor.out
scheduler:
poll_interval: null
cron_rules:
- "0 9 * * *" # daily_audit
- "0 8 * * MON" # weekly_report
triggers:
- audit_project
- connector_event
- realtime_event
- task_claimed
- task_released
state:
auth: {}
cursor:
last_event_offset: null
cache:
execution_phase: phase_a_dev_realtime_hardening
api_profile: legacy_external_dev_only
metrics:
dispatch_latency_ms: {}
claim_conflicts: {}
health:
status: ok
last_heartbeat: null
policies:
rate_limit: {}
retry:
max_attempts: 2
backoff_seconds: 5
circuit_breaker:
failure_threshold: 5
reset_timeout_seconds: 60
auth_scope: {}
guardrails:
prevent_cycles: true
max_ttl: 16
enforce_task_claim_before_execute: true
stale_claim_timeout_seconds: 90
allow_production_secrets_in_test_phase: false
allow_unsandboxed_external_attack_testing: false
contracts:
input_schema:
profile: search_space_collapse_v1
output_schema:
profile: deny_rule_update_v1
error_schema: {}
49 changes: 49 additions & 0 deletions connectors/github.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
id: github
type: vcs_code_host
version: "1.0.0"
capabilities:
- scan_repo
- read_prs
- read_issues
- open_issue
- review_pr
- trigger_workflow
mailbox_in: queue.github.in
mailbox_out: queue.github.out
scheduler:
poll_interval: 60
cron_rules: []
triggers:
- scan_repo
- sync_events
state:
auth:
base_url: "https://api.github.com"
token: "${GITHUB_TOKEN}"
cursor:
last_event_id: null
last_ci_status: {}
cache:
repo_list: []
metrics: {}
health:
status: ok
last_heartbeat: null
policies:
rate_limit:
max_per_minute: 30
retry:
max_attempts: 3
backoff_seconds: 3
circuit_breaker:
failure_threshold: 5
reset_timeout_seconds: 60
auth_scope:
- repo
- workflow
guardrails:
allow_pr_comment: true
contracts:
input_schema: {}
output_schema: {}
error_schema: {}
44 changes: 44 additions & 0 deletions connectors/jira.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
id: jira
type: issue_tracker
version: "1.0.0"
capabilities:
- sync_issues
- create_task
- update_task
- comment_task
mailbox_in: queue.jira.in
mailbox_out: queue.jira.out
scheduler:
poll_interval: 120
cron_rules: []
triggers:
- sync_issues
state:
auth:
base_url: "https://your-jira-domain.atlassian.net"
token: "${JIRA_TOKEN}"
cursor:
last_sync_time: null
last_issue_cursor: null
cache: {}
metrics: {}
health:
status: ok
last_heartbeat: null
policies:
rate_limit:
max_per_minute: 20
retry:
max_attempts: 3
backoff_seconds: 5
circuit_breaker:
failure_threshold: 5
reset_timeout_seconds: 60
auth_scope:
projects: []
guardrails:
allow_auto_create_blocker: false
contracts:
input_schema: {}
output_schema: {}
error_schema: {}
44 changes: 44 additions & 0 deletions connectors/linear.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
id: linear
type: issue_tracker
version: "1.0.0"
capabilities:
- sync_issues
- create_task
- update_task
- comment_task
mailbox_in: queue.linear.in
mailbox_out: queue.linear.out
scheduler:
poll_interval: 120
cron_rules: []
triggers:
- sync_issues
state:
auth:
base_url: "https://api.linear.app"
token: "${LINEAR_TOKEN}"
cursor:
last_sync_time: null
last_issue_cursor: null
cache: {}
metrics: {}
health:
status: ok
last_heartbeat: null
policies:
rate_limit:
max_per_minute: 30
retry:
max_attempts: 3
backoff_seconds: 5
circuit_breaker:
failure_threshold: 5
reset_timeout_seconds: 60
auth_scope:
teams: []
guardrails:
allow_auto_create_blocker: false
contracts:
input_schema: {}
output_schema: {}
error_schema: {}
54 changes: 54 additions & 0 deletions connectors/llm_engine.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
id: llm_engine
type: llm_engine
version: "1.0.0"
capabilities:
- analyze_code
- generate_code
- summarize
- rewrite
- plan_workflow
- audit_system
- synthesize_audit
mailbox_in: queue.llm_engine.in
mailbox_out: queue.llm_engine.out
scheduler:
poll_interval: null
cron_rules: []
triggers:
- analyze_code
- summarize
- rewrite
- plan_workflow
- audit_system
- synthesize_audit
state:
auth:
providers:
gpt:
api_key: "${OPENAI_API_KEY}"
ollama:
endpoint: "http://localhost:11434"
cursor: {}
cache: {}
metrics:
token_usage: {}
health:
status: ok
last_heartbeat: null
policies:
rate_limit:
max_tokens_per_minute: 60000
retry:
max_attempts: 2
backoff_seconds: 2
circuit_breaker:
failure_threshold: 5
reset_timeout_seconds: 30
auth_scope: {}
guardrails:
allow_destructive_actions: false
max_context_tokens: 16000
contracts:
input_schema: {}
output_schema: {}
error_schema: {}
47 changes: 47 additions & 0 deletions connectors/mail.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
id: mail
type: notification_channel
version: "1.0.0"
capabilities:
- notify
- daily_digest
- escalation
mailbox_in: queue.mail.in
mailbox_out: queue.mail.out
scheduler:
poll_interval: null
cron_rules:
- "0 18 * * *" # daily_digest
triggers:
- notify
- daily_digest
- escalation
state:
auth:
smtp_host: "smtp.example.com"
smtp_port: 587
username: "${SMTP_USER}"
password: "${SMTP_PASS}"
cursor: {}
cache:
templates: {}
recipient_mapping: {}
metrics: {}
health:
status: ok
last_heartbeat: null
policies:
rate_limit:
max_per_minute: 60
retry:
max_attempts: 3
backoff_seconds: 5
circuit_breaker:
failure_threshold: 10
reset_timeout_seconds: 60
auth_scope: {}
guardrails:
allow_bulk_mail: false
contracts:
input_schema: {}
output_schema: {}
error_schema: {}
Loading
Loading