Skip to content

some improvements related to ai agent token billing#390

Merged
satti-hari-krishna-reddy merged 10 commits into
Shuffle:mainfrom
satti-hari-krishna-reddy:impv
May 15, 2026
Merged

some improvements related to ai agent token billing#390
satti-hari-krishna-reddy merged 10 commits into
Shuffle:mainfrom
satti-hari-krishna-reddy:impv

Conversation

@satti-hari-krishna-reddy
Copy link
Copy Markdown
Collaborator

No description provided.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves AI Agent token billing/limit enforcement, especially for sub-org (tenant) executions, and surfaces agent token usage in org feature metadata.

Changes:

  • Bill AI Agent token usage/limits against the parent org when an execution is started from a sub-org (CreatorOrg/ManagerOrgs fallback).
  • Add default cloud token limit activation for parent orgs that don’t yet have an AgentTokens limit configured.
  • Populate SyncFeatures.AgentTokens.Usage from org statistics and adjust alert deduping/logging to use the billing org ID.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
shared.go Sets default AgentTokens limit/active for cloud parent orgs and exposes monthly agent token usage via HandleGetOrg.
ai.go Resolves billing org (parent when applicable), enforces token limits and alerts based on billing org, throttles some logs, and counts agent tokens toward the billing org.
Comments suppressed due to low confidence (1)

ai.go:8543

  • SetCache expiration is in minutes (see db-connector.go SetCache), but this code passes 60606 which is interpreted as 21,600 minutes (~15 days), not 6 hours. Use 360 minutes (6*60) or otherwise pass the correct unit if you intended seconds.
					rateLimitKey := "openai_rate_limit_log"
					if _, cacheErr := GetCache(ctx, rateLimitKey); cacheErr != nil {
						log.Printf("[ERROR][%s] AI_OPENAI_RATE_LIMIT: org=%s error_message=%s", execution.ExecutionId, execution.Workflow.OrgId, newOutput.Error.Message)
						_ = SetCache(ctx, rateLimitKey, []byte("1"), 60*60*6)
					}

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread ai.go Outdated
Comment thread ai.go Outdated
Comment thread ai.go
Comment thread shared.go
satti-hari-krishna-reddy and others added 3 commits May 15, 2026 16:49
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@satti-hari-krishna-reddy satti-hari-krishna-reddy merged commit 7ea5255 into Shuffle:main May 15, 2026
4 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants