MCPcopy Create free account
hub / github.com/compozy/agh / submitPrompt

Method submitPrompt

internal/extension/host_api.go:1817–1846  ·  view source on GitHub ↗
(
	ctx context.Context,
	sessionID string,
	message string,
)

Source from the content-addressed store, hash-verified

1815}
1816
1817func (h *HostAPIHandler) submitPrompt(
1818 ctx context.Context,
1819 sessionID string,
1820 message string,
1821) (hostAPIPromptSubmission, error) {
1822 if h.sessions == nil {
1823 return hostAPIPromptSubmission{}, errors.New("extension: session manager is not configured")
1824 }
1825
1826 lastSequence, err := h.latestSessionSequence(ctx, sessionID)
1827 if err != nil {
1828 return hostAPIPromptSubmission{}, err
1829 }
1830
1831 promptCtx := context.WithoutCancel(ctx)
1832 eventsCh, err := h.sessions.Prompt(promptCtx, sessionID, message)
1833 if err != nil {
1834 return hostAPIPromptSubmission{}, err
1835 }
1836 drainAgentEvents(eventsCh)
1837
1838 events, err := h.sessions.Events(ctx, sessionID, store.EventQuery{
1839 AfterSequence: lastSequence,
1840 })
1841 if err != nil {
1842 return hostAPIPromptSubmission{}, err
1843 }
1844
1845 return promptSubmissionFromStoredEvents(events)
1846}
1847
1848func promptSubmissionFromStoredEvents(events []store.SessionEvent) (hostAPIPromptSubmission, error) {
1849 turnID := promptTurnIDFromStoredEvents(events)

Calls 5

latestSessionSequenceMethod · 0.95
drainAgentEventsFunction · 0.70
PromptMethod · 0.65
EventsMethod · 0.65