graphql

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 28, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

This section is empty.

Types

type Action

type Action struct {
	ID             int        `json:"id"`
	WorkspaceID    string     `json:"-"`
	CaseID         int        `json:"caseID"`
	Case           *Case      `json:"case,omitempty"`
	Title          string     `json:"title"`
	Description    string     `json:"description"`
	AssigneeID     *string    `json:"assigneeID,omitempty"`
	Assignee       *SlackUser `json:"assignee,omitempty"`
	SlackMessageTs *string    `json:"slackMessageTS,omitempty"`
	// Status is the per-workspace status id (no longer a typed enum). The
	// allowed value set is defined in TOML via [[action.status]] and exposed
	// to clients through FieldConfiguration.actionConfig.
	Status     string     `json:"status"`
	DueDate    *time.Time `json:"dueDate,omitempty"`
	Archived   bool       `json:"archived"`
	ArchivedAt *time.Time `json:"archivedAt,omitempty"`
	CreatedAt  time.Time  `json:"createdAt"`
	UpdatedAt  time.Time  `json:"updatedAt"`
}

Action is a custom GraphQL model with WorkspaceID for argument-based propagation.

type ActionArchiveFilter

type ActionArchiveFilter string
const (
	ActionArchiveFilterActive   ActionArchiveFilter = "ACTIVE"
	ActionArchiveFilterArchived ActionArchiveFilter = "ARCHIVED"
	ActionArchiveFilterAll      ActionArchiveFilter = "ALL"
)

func (ActionArchiveFilter) IsValid

func (e ActionArchiveFilter) IsValid() bool

func (ActionArchiveFilter) MarshalGQL

func (e ActionArchiveFilter) MarshalGQL(w io.Writer)

func (ActionArchiveFilter) MarshalJSON

func (e ActionArchiveFilter) MarshalJSON() ([]byte, error)

func (ActionArchiveFilter) String

func (e ActionArchiveFilter) String() string

func (*ActionArchiveFilter) UnmarshalGQL

func (e *ActionArchiveFilter) UnmarshalGQL(v any) error

func (*ActionArchiveFilter) UnmarshalJSON

func (e *ActionArchiveFilter) UnmarshalJSON(b []byte) error

type ActionConfig

type ActionConfig struct {
	Initial  string                    `json:"initial"`
	Closed   []string                  `json:"closed"`
	Statuses []*ActionStatusDefinition `json:"statuses"`
}

type ActionEvent

type ActionEvent struct {
	ID        string          `json:"id"`
	ActionID  int             `json:"actionID"`
	Kind      ActionEventKind `json:"kind"`
	ActorID   string          `json:"actorID"`
	Actor     *SlackUser      `json:"actor,omitempty"`
	OldValue  string          `json:"oldValue"`
	NewValue  string          `json:"newValue"`
	CreatedAt time.Time       `json:"createdAt"`
}

type ActionEventConnection

type ActionEventConnection struct {
	Items      []*ActionEvent `json:"items"`
	NextCursor string         `json:"nextCursor"`
}

type ActionEventKind

type ActionEventKind string
const (
	ActionEventKindCreated          ActionEventKind = "CREATED"
	ActionEventKindTitleChanged     ActionEventKind = "TITLE_CHANGED"
	ActionEventKindStatusChanged    ActionEventKind = "STATUS_CHANGED"
	ActionEventKindAssigneeChanged  ActionEventKind = "ASSIGNEE_CHANGED"
	ActionEventKindArchived         ActionEventKind = "ARCHIVED"
	ActionEventKindUnarchived       ActionEventKind = "UNARCHIVED"
	ActionEventKindStepAdded        ActionEventKind = "STEP_ADDED"
	ActionEventKindStepRemoved      ActionEventKind = "STEP_REMOVED"
	ActionEventKindStepDone         ActionEventKind = "STEP_DONE"
	ActionEventKindStepReopened     ActionEventKind = "STEP_REOPENED"
	ActionEventKindStepTitleChanged ActionEventKind = "STEP_TITLE_CHANGED"
)

func (ActionEventKind) IsValid

func (e ActionEventKind) IsValid() bool

func (ActionEventKind) MarshalGQL

func (e ActionEventKind) MarshalGQL(w io.Writer)

func (ActionEventKind) MarshalJSON

func (e ActionEventKind) MarshalJSON() ([]byte, error)

func (ActionEventKind) String

func (e ActionEventKind) String() string

func (*ActionEventKind) UnmarshalGQL

func (e *ActionEventKind) UnmarshalGQL(v any) error

func (*ActionEventKind) UnmarshalJSON

func (e *ActionEventKind) UnmarshalJSON(b []byte) error

type ActionStatusDefinition

type ActionStatusDefinition struct {
	ID          string  `json:"id"`
	Name        string  `json:"name"`
	Description *string `json:"description,omitempty"`
	Color       *string `json:"color,omitempty"`
	Emoji       *string `json:"emoji,omitempty"`
}

type ActionStep

type ActionStep struct {
	ID            string     `json:"id"`
	ActionID      int        `json:"actionID"`
	Title         string     `json:"title"`
	Done          bool       `json:"done"`
	DoneAt        *time.Time `json:"doneAt,omitempty"`
	DoneBy        *string    `json:"doneBy,omitempty"`
	DoneByUser    *SlackUser `json:"doneByUser,omitempty"`
	CreatedBy     string     `json:"createdBy"`
	CreatedByUser *SlackUser `json:"createdByUser,omitempty"`
	CreatedAt     time.Time  `json:"createdAt"`
	UpdatedAt     time.Time  `json:"updatedAt"`
}

type ActionStepProgress

type ActionStepProgress struct {
	Done  int `json:"done"`
	Total int `json:"total"`
}

type AddActionStepInput

type AddActionStepInput struct {
	ActionID int    `json:"actionId"`
	Title    string `json:"title"`
}

type AssistLog

type AssistLog struct {
	ID        string    `json:"id"`
	CaseID    int       `json:"caseId"`
	Summary   string    `json:"summary"`
	Actions   string    `json:"actions"`
	Reasoning string    `json:"reasoning"`
	NextSteps string    `json:"nextSteps"`
	CreatedAt time.Time `json:"createdAt"`
}

type AssistLogConnection

type AssistLogConnection struct {
	Items      []*AssistLog `json:"items"`
	TotalCount int          `json:"totalCount"`
	HasMore    bool         `json:"hasMore"`
}

type Case

type Case struct {
	ID             int              `json:"id"`
	WorkspaceID    string           `json:"-"`
	Title          string           `json:"title"`
	Description    string           `json:"description"`
	Status         types.CaseStatus `json:"status"`
	IsPrivate      bool             `json:"isPrivate"`
	IsTest         bool             `json:"isTest"`
	AccessDenied   bool             `json:"accessDenied"`
	ChannelUserIDs []string         `json:"-"` // Internal: used by channelUsers resolver
	ReporterID     *string          `json:"reporterID,omitempty"`
	AssigneeIDs    []string         `json:"assigneeIDs"`
	Assignees      []*SlackUser     `json:"assignees"`
	SlackChannelID *string          `json:"slackChannelID,omitempty"`
	SlackThreadTS  *string          `json:"slackThreadTS,omitempty"`
	IsThreadBound  bool             `json:"isThreadBound"`
	BoardStatus    *string          `json:"boardStatus,omitempty"`
	Fields         []*FieldValue    `json:"fields"`
	Actions        []*Action        `json:"actions"`
	// AgentAdditionalPrompt is the Markdown text appended to the agent
	// system prompt for this Case. Always present (empty string when
	// unset) so the schema's String! contract is honoured.
	AgentAdditionalPrompt string `json:"agentAdditionalPrompt"`
	// AgentSourceIDs is the internal-only allowlist used by the
	// agentSources resolver to hydrate the public [Source!]! field.
	// Hidden from JSON so it never leaks through the GraphQL surface.
	AgentSourceIDs []string  `json:"-"`
	CreatedAt      time.Time `json:"createdAt"`
	UpdatedAt      time.Time `json:"updatedAt"`
}

Case is a custom GraphQL model with WorkspaceID for argument-based propagation. WorkspaceID is not exposed in the GraphQL schema; it is used internally to pass workspace context to nested field resolvers (actions, knowledges, assignees).

type CaseJob

type CaseJob struct {
	ID          string      `json:"id"`
	Name        string      `json:"name"`
	Description string      `json:"description"`
	Strategy    JobStrategy `json:"strategy"`
	Quiet       bool        `json:"quiet"`
	Prompt      string      `json:"prompt"`
	Trigger     *JobTrigger `json:"trigger"`
}

type CaseLifecycleEvent

type CaseLifecycleEvent string
const (
	CaseLifecycleEventCreated CaseLifecycleEvent = "CREATED"
	CaseLifecycleEventClosed  CaseLifecycleEvent = "CLOSED"
)

func (CaseLifecycleEvent) IsValid

func (e CaseLifecycleEvent) IsValid() bool

func (CaseLifecycleEvent) MarshalGQL

func (e CaseLifecycleEvent) MarshalGQL(w io.Writer)

func (CaseLifecycleEvent) MarshalJSON

func (e CaseLifecycleEvent) MarshalJSON() ([]byte, error)

func (CaseLifecycleEvent) String

func (e CaseLifecycleEvent) String() string

func (*CaseLifecycleEvent) UnmarshalGQL

func (e *CaseLifecycleEvent) UnmarshalGQL(v any) error

func (*CaseLifecycleEvent) UnmarshalJSON

func (e *CaseLifecycleEvent) UnmarshalJSON(b []byte) error

type CaseRef

type CaseRef struct {
	ID          int              `json:"id"`
	Title       string           `json:"title"`
	Status      types.CaseStatus `json:"status"`
	WorkspaceID string           `json:"workspaceId"`
}

A referenceable case (non-private, non-draft) used by case_ref fields.

type ChannelUserConnection

type ChannelUserConnection struct {
	Items      []*SlackUser `json:"items"`
	TotalCount int          `json:"totalCount"`
	HasMore    bool         `json:"hasMore"`
}

type CreateActionInput

type CreateActionInput struct {
	CaseID         int        `json:"caseID"`
	Title          string     `json:"title"`
	Description    *string    `json:"description,omitempty"`
	AssigneeID     *string    `json:"assigneeID,omitempty"`
	SlackMessageTs *string    `json:"slackMessageTS,omitempty"`
	Status         *string    `json:"status,omitempty"`
	DueDate        *time.Time `json:"dueDate,omitempty"`
}

type CreateCaseImportInput

type CreateCaseImportInput struct {
	// Raw YAML content (UTF-8).
	Content string `json:"content"`
	// Optional original file name for display purposes.
	OriginalFileName *string `json:"originalFileName,omitempty"`
}

type CreateCaseInput

type CreateCaseInput struct {
	Title       string             `json:"title"`
	Description *string            `json:"description,omitempty"`
	AssigneeIDs []string           `json:"assigneeIDs,omitempty"`
	Fields      []*FieldValueInput `json:"fields,omitempty"`
	IsPrivate   *bool              `json:"isPrivate,omitempty"`
	IsTest      *bool              `json:"isTest,omitempty"`
}

type CreateDraftInput

type CreateDraftInput struct {
	Title       *string            `json:"title,omitempty"`
	Description *string            `json:"description,omitempty"`
	AssigneeIDs []string           `json:"assigneeIDs,omitempty"`
	Fields      []*FieldValueInput `json:"fields,omitempty"`
	IsPrivate   *bool              `json:"isPrivate,omitempty"`
	IsTest      *bool              `json:"isTest,omitempty"`
}

type CreateGitHubSourceInput

type CreateGitHubSourceInput struct {
	Name         *string  `json:"name,omitempty"`
	Description  *string  `json:"description,omitempty"`
	Repositories []string `json:"repositories"`
	Enabled      *bool    `json:"enabled,omitempty"`
}

type CreateKnowledgeInput

type CreateKnowledgeInput struct {
	Title  string   `json:"title"`
	Claim  *string  `json:"claim,omitempty"`
	TagIds []string `json:"tagIds"`
}

type CreateMemoInput

type CreateMemoInput struct {
	CaseID int                `json:"caseID"`
	Title  string             `json:"title"`
	Fields []*FieldValueInput `json:"fields,omitempty"`
}

type CreateNotionDBSourceInput

type CreateNotionDBSourceInput struct {
	Name        *string `json:"name,omitempty"`
	Description *string `json:"description,omitempty"`
	DatabaseID  string  `json:"databaseID"`
	Enabled     *bool   `json:"enabled,omitempty"`
}

type CreateNotionPageSourceInput

type CreateNotionPageSourceInput struct {
	Name        *string `json:"name,omitempty"`
	Description *string `json:"description,omitempty"`
	PageID      string  `json:"pageID"`
	Enabled     *bool   `json:"enabled,omitempty"`
	Recursive   *bool   `json:"recursive,omitempty"`
	MaxDepth    *int    `json:"maxDepth,omitempty"`
}

type CreateSlackSourceInput

type CreateSlackSourceInput struct {
	Name        *string  `json:"name,omitempty"`
	Description *string  `json:"description,omitempty"`
	ChannelIDs  []string `json:"channelIDs"`
	Enabled     *bool    `json:"enabled,omitempty"`
}

type DeleteActionStepInput

type DeleteActionStepInput struct {
	ActionID int    `json:"actionId"`
	StepID   string `json:"stepId"`
}

type EntityLabels

type EntityLabels struct {
	Case string `json:"case"`
}

type FieldConfiguration

type FieldConfiguration struct {
	Fields       []*FieldDefinition `json:"fields"`
	Labels       *EntityLabels      `json:"labels"`
	ActionConfig *ActionConfig      `json:"actionConfig"`
}

type FieldDefinition

type FieldDefinition struct {
	ID                   string         `json:"id"`
	Name                 string         `json:"name"`
	Type                 FieldType      `json:"type"`
	Required             bool           `json:"required"`
	Description          *string        `json:"description,omitempty"`
	Options              []*FieldOption `json:"options,omitempty"`
	ReferenceWorkspaceID *string        `json:"referenceWorkspaceId,omitempty"`
}

type FieldOption

type FieldOption struct {
	ID          string  `json:"id"`
	Name        string  `json:"name"`
	Description *string `json:"description,omitempty"`
	Metadata    *string `json:"metadata,omitempty"`
}

type FieldType

type FieldType string
const (
	FieldTypeText         FieldType = "TEXT"
	FieldTypeNumber       FieldType = "NUMBER"
	FieldTypeSelect       FieldType = "SELECT"
	FieldTypeMultiSelect  FieldType = "MULTI_SELECT"
	FieldTypeUser         FieldType = "USER"
	FieldTypeMultiUser    FieldType = "MULTI_USER"
	FieldTypeDate         FieldType = "DATE"
	FieldTypeURL          FieldType = "URL"
	FieldTypeCaseRef      FieldType = "CASE_REF"
	FieldTypeMultiCaseRef FieldType = "MULTI_CASE_REF"
	FieldTypeMarkdown     FieldType = "MARKDOWN"
)

func (FieldType) IsValid

func (e FieldType) IsValid() bool

func (FieldType) MarshalGQL

func (e FieldType) MarshalGQL(w io.Writer)

func (FieldType) MarshalJSON

func (e FieldType) MarshalJSON() ([]byte, error)

func (FieldType) String

func (e FieldType) String() string

func (*FieldType) UnmarshalGQL

func (e *FieldType) UnmarshalGQL(v any) error

func (*FieldType) UnmarshalJSON

func (e *FieldType) UnmarshalJSON(b []byte) error

type FieldValue

type FieldValue struct {
	FieldID string `json:"fieldId"`
	Value   any    `json:"value"`
}

type FieldValueInput

type FieldValueInput struct {
	FieldID string `json:"fieldId"`
	Value   any    `json:"value"`
}

type GitHubConfig

type GitHubConfig struct {
	Repositories []*GitHubRepository `json:"repositories"`
}

func (GitHubConfig) IsSourceConfig

func (GitHubConfig) IsSourceConfig()

type GitHubRepoValidationResult

type GitHubRepoValidationResult struct {
	Valid                bool    `json:"valid"`
	Owner                *string `json:"owner,omitempty"`
	Repo                 *string `json:"repo,omitempty"`
	FullName             *string `json:"fullName,omitempty"`
	Description          *string `json:"description,omitempty"`
	IsPrivate            *bool   `json:"isPrivate,omitempty"`
	PullRequestCount     *int    `json:"pullRequestCount,omitempty"`
	IssueCount           *int    `json:"issueCount,omitempty"`
	CanFetchPullRequests bool    `json:"canFetchPullRequests"`
	CanFetchIssues       bool    `json:"canFetchIssues"`
	ErrorMessage         *string `json:"errorMessage,omitempty"`
}

type GitHubRepository

type GitHubRepository struct {
	Owner string `json:"owner"`
	Repo  string `json:"repo"`
}

type HomeMessage

type HomeMessage struct {
	Message string `json:"message"`
}

type ImportActionResult

type ImportActionResult struct {
	Status          ImportItemResultStatus `json:"status"`
	CreatedAction   *Action                `json:"createdAction,omitempty"`
	CreatedActionID *int                   `json:"createdActionID,omitempty"`
	Error           *ImportIssue           `json:"error,omitempty"`
}

type ImportCaseResult

type ImportCaseResult struct {
	Status        ImportItemResultStatus `json:"status"`
	CreatedCase   *Case                  `json:"createdCase,omitempty"`
	CreatedCaseID *int                   `json:"createdCaseID,omitempty"`
	Error         *ImportIssue           `json:"error,omitempty"`
}

type ImportIssue

type ImportIssue struct {
	Path     string              `json:"path"`
	Message  string              `json:"message"`
	Severity ImportIssueSeverity `json:"severity"`
}

type ImportIssueSeverity

type ImportIssueSeverity string
const (
	ImportIssueSeverityError   ImportIssueSeverity = "ERROR"
	ImportIssueSeverityWarning ImportIssueSeverity = "WARNING"
)

func (ImportIssueSeverity) IsValid

func (e ImportIssueSeverity) IsValid() bool

func (ImportIssueSeverity) MarshalGQL

func (e ImportIssueSeverity) MarshalGQL(w io.Writer)

func (ImportIssueSeverity) MarshalJSON

func (e ImportIssueSeverity) MarshalJSON() ([]byte, error)

func (ImportIssueSeverity) String

func (e ImportIssueSeverity) String() string

func (*ImportIssueSeverity) UnmarshalGQL

func (e *ImportIssueSeverity) UnmarshalGQL(v any) error

func (*ImportIssueSeverity) UnmarshalJSON

func (e *ImportIssueSeverity) UnmarshalJSON(b []byte) error

type ImportItemResultStatus

type ImportItemResultStatus string
const (
	ImportItemResultStatusPending ImportItemResultStatus = "PENDING"
	ImportItemResultStatusCreated ImportItemResultStatus = "CREATED"
	ImportItemResultStatusFailed  ImportItemResultStatus = "FAILED"
	ImportItemResultStatusSkipped ImportItemResultStatus = "SKIPPED"
)

func (ImportItemResultStatus) IsValid

func (e ImportItemResultStatus) IsValid() bool

func (ImportItemResultStatus) MarshalGQL

func (e ImportItemResultStatus) MarshalGQL(w io.Writer)

func (ImportItemResultStatus) MarshalJSON

func (e ImportItemResultStatus) MarshalJSON() ([]byte, error)

func (ImportItemResultStatus) String

func (e ImportItemResultStatus) String() string

func (*ImportItemResultStatus) UnmarshalGQL

func (e *ImportItemResultStatus) UnmarshalGQL(v any) error

func (*ImportItemResultStatus) UnmarshalJSON

func (e *ImportItemResultStatus) UnmarshalJSON(b []byte) error

type ImportSession

type ImportSession struct {
	ID              string              `json:"id"`
	WorkspaceID     string              `json:"workspaceID"`
	CreatorUserID   string              `json:"creatorUserID"`
	Status          ImportSessionStatus `json:"status"`
	Source          *ImportSource       `json:"source"`
	Snapshot        *ImportSnapshot     `json:"snapshot"`
	Issues          []*ImportIssue      `json:"issues"`
	Valid           bool                `json:"valid"`
	FieldSchemaHash string              `json:"fieldSchemaHash"`
	CreatedAt       time.Time           `json:"createdAt"`
	UpdatedAt       time.Time           `json:"updatedAt"`
	ExecutedAt      *time.Time          `json:"executedAt,omitempty"`
	CreatedCount    int                 `json:"createdCount"`
	FailedCount     int                 `json:"failedCount"`
	SkippedCount    int                 `json:"skippedCount"`
}

type ImportSessionStatus

type ImportSessionStatus string
const (
	ImportSessionStatusPending ImportSessionStatus = "PENDING"
	ImportSessionStatusApplied ImportSessionStatus = "APPLIED"
	ImportSessionStatusFailed  ImportSessionStatus = "FAILED"
)

func (ImportSessionStatus) IsValid

func (e ImportSessionStatus) IsValid() bool

func (ImportSessionStatus) MarshalGQL

func (e ImportSessionStatus) MarshalGQL(w io.Writer)

func (ImportSessionStatus) MarshalJSON

func (e ImportSessionStatus) MarshalJSON() ([]byte, error)

func (ImportSessionStatus) String

func (e ImportSessionStatus) String() string

func (*ImportSessionStatus) UnmarshalGQL

func (e *ImportSessionStatus) UnmarshalGQL(v any) error

func (*ImportSessionStatus) UnmarshalJSON

func (e *ImportSessionStatus) UnmarshalJSON(b []byte) error

type ImportSnapshot

type ImportSnapshot struct {
	Version int                   `json:"version"`
	Cases   []*ImportSnapshotCase `json:"cases"`
}

type ImportSnapshotAction

type ImportSnapshotAction struct {
	Index       int                 `json:"index"`
	Title       string              `json:"title"`
	Description *string             `json:"description,omitempty"`
	AssigneeID  *string             `json:"assigneeID,omitempty"`
	DueDate     *time.Time          `json:"dueDate,omitempty"`
	Issues      []*ImportIssue      `json:"issues"`
	Result      *ImportActionResult `json:"result"`
}

type ImportSnapshotCase

type ImportSnapshotCase struct {
	Index       int      `json:"index"`
	Title       string   `json:"title"`
	Description *string  `json:"description,omitempty"`
	IsPrivate   bool     `json:"isPrivate"`
	AssigneeIDs []string `json:"assigneeIDs"`
	// Slack users referenced by assigneeIDs, resolved on the server. Lookup is
	//   batched per request so the frontend never has to ship the full slackUsers
	//   list. IDs that cannot be resolved are simply omitted from the array.
	Assignees []*SlackUser            `json:"assignees"`
	Fields    []*ImportSnapshotField  `json:"fields"`
	Actions   []*ImportSnapshotAction `json:"actions"`
	Issues    []*ImportIssue          `json:"issues"`
	Result    *ImportCaseResult       `json:"result"`
}

type ImportSnapshotField

type ImportSnapshotField struct {
	Key     string `json:"key"`
	Display string `json:"display"`
}

type ImportSource

type ImportSource struct {
	OriginalFileName string `json:"originalFileName"`
	SizeBytes        int    `json:"sizeBytes"`
}

type JobRunEvent

type JobRunEvent struct {
	EventID        string          `json:"eventId"`
	RunID          string          `json:"runId"`
	Sequence       int             `json:"sequence"`
	OccurredAt     time.Time       `json:"occurredAt"`
	Kind           JobRunEventKind `json:"kind"`
	ParentSequence int             `json:"parentSequence"`
	Phase          string          `json:"phase"`
	AgentLabel     string          `json:"agentLabel"`
	Payload        string          `json:"payload"`
}

type JobRunEventKind

type JobRunEventKind string
const (
	JobRunEventKindLlmRequest  JobRunEventKind = "LLM_REQUEST"
	JobRunEventKindLlmResponse JobRunEventKind = "LLM_RESPONSE"
	JobRunEventKindToolCall    JobRunEventKind = "TOOL_CALL"
	JobRunEventKindRunError    JobRunEventKind = "RUN_ERROR"
)

func (JobRunEventKind) IsValid

func (e JobRunEventKind) IsValid() bool

func (JobRunEventKind) MarshalGQL

func (e JobRunEventKind) MarshalGQL(w io.Writer)

func (JobRunEventKind) MarshalJSON

func (e JobRunEventKind) MarshalJSON() ([]byte, error)

func (JobRunEventKind) String

func (e JobRunEventKind) String() string

func (*JobRunEventKind) UnmarshalGQL

func (e *JobRunEventKind) UnmarshalGQL(v any) error

func (*JobRunEventKind) UnmarshalJSON

func (e *JobRunEventKind) UnmarshalJSON(b []byte) error

type JobRunLog

type JobRunLog struct {
	WorkspaceID    string      `json:"workspaceId"`
	CaseID         int         `json:"caseId"`
	JobID          string      `json:"jobId"`
	JobName        string      `json:"jobName"`
	Strategy       JobStrategy `json:"strategy"`
	RunID          string      `json:"runId"`
	TraceID        string      `json:"traceId"`
	Stage          JobRunStage `json:"stage"`
	StartedAt      time.Time   `json:"startedAt"`
	EndedAt        *time.Time  `json:"endedAt,omitempty"`
	DurationMs     *int        `json:"durationMs,omitempty"`
	ErrorMessage   string      `json:"errorMessage"`
	SystemPrompt   string      `json:"systemPrompt"`
	EventType      string      `json:"eventType"`
	EventTriggerAt time.Time   `json:"eventTriggerAt"`
}

type JobRunLogConnection

type JobRunLogConnection struct {
	Items      []*JobRunLog `json:"items"`
	NextCursor *string      `json:"nextCursor,omitempty"`
}

type JobRunStage

type JobRunStage string
const (
	JobRunStageRunning       JobRunStage = "RUNNING"
	JobRunStageSuccess       JobRunStage = "SUCCESS"
	JobRunStageFailed        JobRunStage = "FAILED"
	JobRunStageAwaitingInput JobRunStage = "AWAITING_INPUT"
)

func (JobRunStage) IsValid

func (e JobRunStage) IsValid() bool

func (JobRunStage) MarshalGQL

func (e JobRunStage) MarshalGQL(w io.Writer)

func (JobRunStage) MarshalJSON

func (e JobRunStage) MarshalJSON() ([]byte, error)

func (JobRunStage) String

func (e JobRunStage) String() string

func (*JobRunStage) UnmarshalGQL

func (e *JobRunStage) UnmarshalGQL(v any) error

func (*JobRunStage) UnmarshalJSON

func (e *JobRunStage) UnmarshalJSON(b []byte) error

type JobSchedule

type JobSchedule struct {
	EverySeconds *int    `json:"everySeconds,omitempty"`
	Cron         *string `json:"cron,omitempty"`
}

type JobStrategy

type JobStrategy string
const (
	JobStrategySimple   JobStrategy = "SIMPLE"
	JobStrategyPlanexec JobStrategy = "PLANEXEC"
)

func (JobStrategy) IsValid

func (e JobStrategy) IsValid() bool

func (JobStrategy) MarshalGQL

func (e JobStrategy) MarshalGQL(w io.Writer)

func (JobStrategy) MarshalJSON

func (e JobStrategy) MarshalJSON() ([]byte, error)

func (JobStrategy) String

func (e JobStrategy) String() string

func (*JobStrategy) UnmarshalGQL

func (e *JobStrategy) UnmarshalGQL(v any) error

func (*JobStrategy) UnmarshalJSON

func (e *JobStrategy) UnmarshalJSON(b []byte) error

type JobTrigger

type JobTrigger struct {
	CaseEvents []CaseLifecycleEvent `json:"caseEvents"`
	Schedule   *JobSchedule         `json:"schedule,omitempty"`
}

type Knowledge

type Knowledge struct {
	ID        string    `json:"id"`
	Title     string    `json:"title"`
	Claim     string    `json:"claim"`
	Tags      []*Tag    `json:"tags"`
	CreatedAt time.Time `json:"createdAt"`
	UpdatedAt time.Time `json:"updatedAt"`
}

type Memo

type Memo struct {
	ID          string        `json:"id"`
	WorkspaceID string        `json:"-"`
	CaseID      int           `json:"caseID"`
	Case        *Case         `json:"case,omitempty"`
	Title       string        `json:"title"`
	Fields      []*FieldValue `json:"fields"`
	ArchivedAt  *time.Time    `json:"archivedAt,omitempty"`
	CreatedAt   time.Time     `json:"createdAt"`
	UpdatedAt   time.Time     `json:"updatedAt"`
}

Memo is a custom GraphQL model with WorkspaceID for argument-based propagation. WorkspaceID is not exposed in the GraphQL schema; it is used internally to pass workspace context to nested field resolvers (case, fields).

type MemoArchiveFilter

type MemoArchiveFilter string
const (
	MemoArchiveFilterActive   MemoArchiveFilter = "ACTIVE"
	MemoArchiveFilterArchived MemoArchiveFilter = "ARCHIVED"
	MemoArchiveFilterAll      MemoArchiveFilter = "ALL"
)

func (MemoArchiveFilter) IsValid

func (e MemoArchiveFilter) IsValid() bool

func (MemoArchiveFilter) MarshalGQL

func (e MemoArchiveFilter) MarshalGQL(w io.Writer)

func (MemoArchiveFilter) MarshalJSON

func (e MemoArchiveFilter) MarshalJSON() ([]byte, error)

func (MemoArchiveFilter) String

func (e MemoArchiveFilter) String() string

func (*MemoArchiveFilter) UnmarshalGQL

func (e *MemoArchiveFilter) UnmarshalGQL(v any) error

func (*MemoArchiveFilter) UnmarshalJSON

func (e *MemoArchiveFilter) UnmarshalJSON(b []byte) error

type MemoConfiguration

type MemoConfiguration struct {
	Description string             `json:"description"`
	Fields      []*FieldDefinition `json:"fields"`
}

type Mutation

type Mutation struct {
}

type MyDueAction

type MyDueAction struct {
	WorkspaceID   string  `json:"workspaceId"`
	WorkspaceName string  `json:"workspaceName"`
	Action        *Action `json:"action"`
	CaseID        int     `json:"caseId"`
	CaseTitle     string  `json:"caseTitle"`
}

type MyOpenCase

type MyOpenCase struct {
	WorkspaceID   string `json:"workspaceId"`
	WorkspaceName string `json:"workspaceName"`
	Case          *Case  `json:"case"`
	Stalled       bool   `json:"stalled"`
}

type NotionDBConfig

type NotionDBConfig struct {
	DatabaseID    string `json:"databaseID"`
	DatabaseTitle string `json:"databaseTitle"`
	DatabaseURL   string `json:"databaseURL"`
}

func (NotionDBConfig) IsSourceConfig

func (NotionDBConfig) IsSourceConfig()

type NotionDBValidationResult

type NotionDBValidationResult struct {
	Valid         bool    `json:"valid"`
	DatabaseTitle *string `json:"databaseTitle,omitempty"`
	DatabaseURL   *string `json:"databaseURL,omitempty"`
	ErrorMessage  *string `json:"errorMessage,omitempty"`
}

type NotionPageConfig

type NotionPageConfig struct {
	PageID    string `json:"pageID"`
	PageTitle string `json:"pageTitle"`
	PageURL   string `json:"pageURL"`
	Recursive bool   `json:"recursive"`
	MaxDepth  int    `json:"maxDepth"`
}

func (NotionPageConfig) IsSourceConfig

func (NotionPageConfig) IsSourceConfig()

type NotionPageValidationResult

type NotionPageValidationResult struct {
	Valid        bool    `json:"valid"`
	PageTitle    *string `json:"pageTitle,omitempty"`
	PageURL      *string `json:"pageURL,omitempty"`
	ErrorMessage *string `json:"errorMessage,omitempty"`
}

type Query

type Query struct {
}

type RenameActionStepInput

type RenameActionStepInput struct {
	ActionID int    `json:"actionId"`
	StepID   string `json:"stepId"`
	Title    string `json:"title"`
}

type SetActionStepDoneInput

type SetActionStepDoneInput struct {
	ActionID int    `json:"actionId"`
	StepID   string `json:"stepId"`
	Done     bool   `json:"done"`
}

type SlackChannel

type SlackChannel struct {
	ID   string `json:"id"`
	Name string `json:"name"`
}

type SlackChannelInfo

type SlackChannelInfo struct {
	ID   string `json:"id"`
	Name string `json:"name"`
}

type SlackConfig

type SlackConfig struct {
	Channels []*SlackChannel `json:"channels"`
}

func (SlackConfig) IsSourceConfig

func (SlackConfig) IsSourceConfig()

type SlackFile

type SlackFile struct {
	ID         string  `json:"id"`
	Name       string  `json:"name"`
	Mimetype   string  `json:"mimetype"`
	Filetype   string  `json:"filetype"`
	Size       int     `json:"size"`
	URLPrivate string  `json:"urlPrivate"`
	Permalink  string  `json:"permalink"`
	ThumbURL   *string `json:"thumbURL,omitempty"`
}

type SlackMessage

type SlackMessage struct {
	ID        string       `json:"id"`
	ChannelID string       `json:"channelID"`
	ThreadTs  *string      `json:"threadTS,omitempty"`
	TeamID    string       `json:"teamID"`
	UserID    string       `json:"userID"`
	UserName  string       `json:"userName"`
	Text      string       `json:"text"`
	Files     []*SlackFile `json:"files"`
	CreatedAt time.Time    `json:"createdAt"`
}

type SlackMessageConnection

type SlackMessageConnection struct {
	Items      []*SlackMessage `json:"items"`
	NextCursor string          `json:"nextCursor"`
}

type SlackUser

type SlackUser struct {
	ID       string  `json:"id"`
	Name     string  `json:"name"`
	RealName string  `json:"realName"`
	ImageURL *string `json:"imageUrl,omitempty"`
}

type Source

type Source struct {
	ID          string       `json:"id"`
	Name        string       `json:"name"`
	SourceType  SourceType   `json:"sourceType"`
	Description string       `json:"description"`
	Enabled     bool         `json:"enabled"`
	Config      SourceConfig `json:"config"`
	CreatedAt   time.Time    `json:"createdAt"`
	UpdatedAt   time.Time    `json:"updatedAt"`
}

type SourceConfig

type SourceConfig interface {
	IsSourceConfig()
}

type SourceType

type SourceType string
const (
	SourceTypeNotionDb   SourceType = "NOTION_DB"
	SourceTypeNotionPage SourceType = "NOTION_PAGE"
	SourceTypeSLACk      SourceType = "SLACK"
	SourceTypeGithub     SourceType = "GITHUB"
)

func (SourceType) IsValid

func (e SourceType) IsValid() bool

func (SourceType) MarshalGQL

func (e SourceType) MarshalGQL(w io.Writer)

func (SourceType) MarshalJSON

func (e SourceType) MarshalJSON() ([]byte, error)

func (SourceType) String

func (e SourceType) String() string

func (*SourceType) UnmarshalGQL

func (e *SourceType) UnmarshalGQL(v any) error

func (*SourceType) UnmarshalJSON

func (e *SourceType) UnmarshalJSON(b []byte) error

type SubmitDraftInput

type SubmitDraftInput struct {
	Title       *string            `json:"title,omitempty"`
	Description *string            `json:"description,omitempty"`
	Fields      []*FieldValueInput `json:"fields,omitempty"`
	IsTest      *bool              `json:"isTest,omitempty"`
}

type Tag

type Tag struct {
	ID        string    `json:"id"`
	Name      *string   `json:"name,omitempty"`
	CreatedAt time.Time `json:"createdAt"`
	UpdatedAt time.Time `json:"updatedAt"`
}

type UpdateActionInput

type UpdateActionInput struct {
	ID             int        `json:"id"`
	CaseID         *int       `json:"caseID,omitempty"`
	Title          *string    `json:"title,omitempty"`
	Description    *string    `json:"description,omitempty"`
	AssigneeID     *string    `json:"assigneeID,omitempty"`
	SlackMessageTs *string    `json:"slackMessageTS,omitempty"`
	Status         *string    `json:"status,omitempty"`
	DueDate        *time.Time `json:"dueDate,omitempty"`
	ClearDueDate   *bool      `json:"clearDueDate,omitempty"`
	ClearAssignee  *bool      `json:"clearAssignee,omitempty"`
}

type UpdateCaseAgentSettingsInput

type UpdateCaseAgentSettingsInput struct {
	CaseID                int      `json:"caseId"`
	AgentAdditionalPrompt string   `json:"agentAdditionalPrompt"`
	EnabledSourceIds      []string `json:"enabledSourceIds"`
}

type UpdateCaseInput

type UpdateCaseInput struct {
	ID          int                `json:"id"`
	Title       *string            `json:"title,omitempty"`
	Description *string            `json:"description,omitempty"`
	Fields      []*FieldValueInput `json:"fields,omitempty"`
	IsTest      *bool              `json:"isTest,omitempty"`
}

type UpdateCaseStatusInput

type UpdateCaseStatusInput struct {
	ID     int    `json:"id"`
	Status string `json:"status"`
}

type UpdateGitHubSourceInput

type UpdateGitHubSourceInput struct {
	ID           string   `json:"id"`
	Name         *string  `json:"name,omitempty"`
	Description  *string  `json:"description,omitempty"`
	Repositories []string `json:"repositories,omitempty"`
	Enabled      *bool    `json:"enabled,omitempty"`
}

type UpdateKnowledgeInput

type UpdateKnowledgeInput struct {
	ID     string   `json:"id"`
	Title  *string  `json:"title,omitempty"`
	Claim  *string  `json:"claim,omitempty"`
	TagIds []string `json:"tagIds,omitempty"`
}

type UpdateMemoInput

type UpdateMemoInput struct {
	ID     string             `json:"id"`
	CaseID int                `json:"caseID"`
	Title  *string            `json:"title,omitempty"`
	Fields []*FieldValueInput `json:"fields,omitempty"`
}

type UpdateNotionDBSourceInput

type UpdateNotionDBSourceInput struct {
	ID          string  `json:"id"`
	Name        *string `json:"name,omitempty"`
	Description *string `json:"description,omitempty"`
	DatabaseID  *string `json:"databaseID,omitempty"`
	Enabled     *bool   `json:"enabled,omitempty"`
}

type UpdateNotionPageSourceInput

type UpdateNotionPageSourceInput struct {
	ID          string  `json:"id"`
	Name        *string `json:"name,omitempty"`
	Description *string `json:"description,omitempty"`
	PageID      *string `json:"pageID,omitempty"`
	Enabled     *bool   `json:"enabled,omitempty"`
	Recursive   *bool   `json:"recursive,omitempty"`
	MaxDepth    *int    `json:"maxDepth,omitempty"`
}

type UpdateSlackSourceInput

type UpdateSlackSourceInput struct {
	ID          string   `json:"id"`
	Name        *string  `json:"name,omitempty"`
	Description *string  `json:"description,omitempty"`
	ChannelIDs  []string `json:"channelIDs,omitempty"`
	Enabled     *bool    `json:"enabled,omitempty"`
}

type UpdateSourceInput

type UpdateSourceInput struct {
	ID          string  `json:"id"`
	Name        *string `json:"name,omitempty"`
	Description *string `json:"description,omitempty"`
	Enabled     *bool   `json:"enabled,omitempty"`
}

type Workspace

type Workspace struct {
	ID   string `json:"id"`
	Name string `json:"name"`
}

type WorkspaceGroup

type WorkspaceGroup struct {
	ID          string       `json:"id"`
	Name        string       `json:"name"`
	Description *string      `json:"description,omitempty"`
	Workspaces  []*Workspace `json:"workspaces"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL