MCPcopy Create free account
hub / github.com/openclaw/gogcli / Run

Method Run

internal/cmd/chat_threads.go:25–125  ·  view source on GitHub ↗
(ctx context.Context, flags *RootFlags)

Source from the content-addressed store, hash-verified

23}
24
25func (c *ChatThreadsListCmd) Run(ctx context.Context, flags *RootFlags) error {
26 u := ui.FromContext(ctx)
27 space, err := normalizeSpace(c.Space)
28 if err != nil {
29 return usage("required: space")
30 }
31 if c.Max <= 0 {
32 return usage("max must be > 0")
33 }
34 account, err := requireAccount(flags)
35 if err != nil {
36 return err
37 }
38 if err = requireWorkspaceAccount(account); err != nil {
39 return err
40 }
41
42 svc, err := chatService(ctx, account)
43 if err != nil {
44 return err
45 }
46
47 fetch := func(pageToken string) ([]*chat.Message, string, error) {
48 call := svc.Spaces.Messages.List(space).
49 PageSize(c.Max).
50 OrderBy("createTime desc").
51 Context(ctx)
52 if strings.TrimSpace(pageToken) != "" {
53 call = call.PageToken(pageToken)
54 }
55 resp, callErr := call.Do()
56 if callErr != nil {
57 return nil, "", callErr
58 }
59 return resp.Messages, resp.NextPageToken, nil
60 }
61
62 messages, nextPageToken, err := loadPagedItems(c.Page, c.All, fetch)
63 if err != nil {
64 return err
65 }
66
67 threads := make([]*chatMessageThreadItem, 0, len(messages))
68 seen := make(map[string]bool)
69 for _, msg := range messages {
70 if msg == nil {
71 continue
72 }
73 threadName := chatMessageThread(msg)
74 if threadName == "" {
75 continue
76 }
77 if seen[threadName] {
78 continue
79 }
80 seen[threadName] = true
81 threads = append(threads, &chatMessageThreadItem{message: msg, thread: threadName})
82 }

Callers

nothing calls this directly

Calls 15

FromContextFunction · 0.92
IsJSONFunction · 0.92
WriteJSONFunction · 0.92
WriteTableFunction · 0.92
normalizeSpaceFunction · 0.85
usageFunction · 0.85
requireAccountFunction · 0.85
requireWorkspaceAccountFunction · 0.85
chatServiceFunction · 0.85
loadPagedItemsFunction · 0.85
chatMessageThreadFunction · 0.85
chatMessageSenderFunction · 0.85

Tested by

no test coverage detected