agent_sessions 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +71 -3
  4. data/doc/Agent/Sessions/Adapters/Amp.md +91 -0
  5. data/doc/Agent/Sessions/Adapters/Base.md +198 -0
  6. data/doc/Agent/Sessions/Adapters/Claude.md +63 -0
  7. data/doc/Agent/Sessions/Adapters/Codex.md +79 -0
  8. data/doc/Agent/Sessions/Adapters/Copilot.md +38 -0
  9. data/doc/Agent/Sessions/Adapters/Cursor.md +54 -0
  10. data/doc/Agent/Sessions/Adapters/CursorIde.md +49 -0
  11. data/doc/Agent/Sessions/Adapters/Enumeration.md +135 -0
  12. data/doc/Agent/Sessions/Adapters/Gemini.md +67 -0
  13. data/doc/Agent/Sessions/Adapters/Grok.md +64 -0
  14. data/doc/Agent/Sessions/Adapters/Opencode.md +93 -0
  15. data/doc/Agent/Sessions/Adapters/Pi.md +137 -0
  16. data/doc/Agent/Sessions/Adapters/Qwen.md +32 -0
  17. data/doc/Agent/Sessions/Adapters.md +5 -0
  18. data/doc/Agent/Sessions/Audit/Finding.md +27 -0
  19. data/doc/Agent/Sessions/Audit.md +21 -0
  20. data/doc/Agent/Sessions/CLI.md +36 -0
  21. data/doc/Agent/Sessions/Check.md +27 -0
  22. data/doc/Agent/Sessions/Compaction.md +23 -0
  23. data/doc/Agent/Sessions/EnvOverride.md +19 -0
  24. data/doc/Agent/Sessions/Error.md +6 -0
  25. data/doc/Agent/Sessions/HomeExpansion.md +11 -0
  26. data/doc/Agent/Sessions/Location.md +60 -0
  27. data/doc/Agent/Sessions/Message.md +59 -0
  28. data/doc/Agent/Sessions/MissingDependency.md +6 -0
  29. data/doc/Agent/Sessions/Node.md +24 -0
  30. data/doc/Agent/Sessions/Part.md +41 -0
  31. data/doc/Agent/Sessions/Readers/Amp.md +41 -0
  32. data/doc/Agent/Sessions/Readers/Base.md +91 -0
  33. data/doc/Agent/Sessions/Readers/Claude.md +77 -0
  34. data/doc/Agent/Sessions/Readers/Codex.md +81 -0
  35. data/doc/Agent/Sessions/Readers/Copilot.md +31 -0
  36. data/doc/Agent/Sessions/Readers/Gemini.md +38 -0
  37. data/doc/Agent/Sessions/Readers/Grok.md +45 -0
  38. data/doc/Agent/Sessions/Readers/Opencode.md +37 -0
  39. data/doc/Agent/Sessions/Readers/Pi.md +38 -0
  40. data/doc/Agent/Sessions/Readers/Qwen.md +30 -0
  41. data/doc/Agent/Sessions/Readers.md +5 -0
  42. data/doc/Agent/Sessions/Session.md +73 -0
  43. data/doc/Agent/Sessions/Sqlite.md +43 -0
  44. data/doc/Agent/Sessions/Store.md +57 -0
  45. data/doc/Agent/Sessions/UnknownAgent.md +6 -0
  46. data/doc/Agent/Sessions/UnreadableStore.md +6 -0
  47. data/doc/Agent/Sessions/UnsupportedFormat.md +6 -0
  48. data/doc/Agent/Sessions/Usage.md +56 -0
  49. data/doc/Agent/Sessions.md +177 -0
  50. data/doc/Agent.md +5 -0
  51. data/doc/CHANGELOG.md +69 -0
  52. data/doc/README.md +162 -0
  53. data/doc/index.csv +316 -0
  54. data/exe/agent-sessions +0 -2
  55. data/lib/agent/sessions/adapters/cursor.rb +3 -3
  56. data/lib/agent/sessions/cli.rb +2 -2
  57. data/lib/agent/sessions/message.rb +1 -2
  58. data/lib/agent/sessions/part.rb +1 -2
  59. data/lib/agent/sessions/version.rb +1 -1
  60. data/llm.txt +177 -0
  61. metadata +54 -2
data/doc/index.csv ADDED
@@ -0,0 +1,316 @@
1
+ name,type,path
2
+ README.md,File,README.md
3
+ CHANGELOG.md,File,CHANGELOG.md
4
+ Agent,Module,Agent.md
5
+ Agent::Sessions,Module,Agent/Sessions.md
6
+ Agent::Sessions.LOADER,Constant,Agent/Sessions.md#constant-LOADER
7
+ Agent::Sessions.STALE_AFTER_DAYS,Constant,Agent/Sessions.md#constant-STALE_AFTER_DAYS
8
+ Agent::Sessions.VERIFIED_ON,Constant,Agent/Sessions.md#constant-VERIFIED_ON
9
+ Agent::Sessions.VERSION,Constant,Agent/Sessions.md#constant-VERSION
10
+ Agent::Sessions.agents,Method,Agent/Sessions.md#method-c-agents
11
+ Agent::Sessions.all,Method,Agent/Sessions.md#method-c-all
12
+ Agent::Sessions.audit,Method,Agent/Sessions.md#method-c-audit
13
+ Agent::Sessions.doctor,Method,Agent/Sessions.md#method-c-doctor
14
+ Agent::Sessions.for_project,Method,Agent/Sessions.md#method-c-for_project
15
+ Agent::Sessions.installed,Method,Agent/Sessions.md#method-c-installed
16
+ Agent::Sessions.locate,Method,Agent/Sessions.md#method-c-locate
17
+ Agent::Sessions.projects,Method,Agent/Sessions.md#method-c-projects
18
+ Agent::Sessions.read,Method,Agent/Sessions.md#method-c-read
19
+ Agent::Sessions.register,Method,Agent/Sessions.md#method-c-register
20
+ Agent::Sessions.registry,Method,Agent/Sessions.md#method-c-registry
21
+ Agent::Sessions.sessions,Method,Agent/Sessions.md#method-c-sessions
22
+ Agent::Sessions.unresolved_project_count,Method,Agent/Sessions.md#method-c-unresolved_project_count
23
+ Agent::Sessions.verify,Method,Agent/Sessions.md#method-c-verify
24
+ Agent::Sessions::Sqlite,Module,Agent/Sessions/Sqlite.md
25
+ Agent::Sessions::Sqlite.escape_uri_path,Method,Agent/Sessions/Sqlite.md#method-c-escape_uri_path
26
+ Agent::Sessions::Sqlite.open_readonly,Method,Agent/Sessions/Sqlite.md#method-c-open_readonly
27
+ Agent::Sessions::Readers,Module,Agent/Sessions/Readers.md
28
+ Agent::Sessions::Adapters,Module,Agent/Sessions/Adapters.md
29
+ Agent::Sessions::HomeExpansion,Module,Agent/Sessions/HomeExpansion.md
30
+ Agent::Sessions::Adapters::Enumeration,Module,Agent/Sessions/Adapters/Enumeration.md
31
+ Agent::Sessions::Adapters::Enumeration.MAX_LINE_BYTES,Constant,Agent/Sessions/Adapters/Enumeration.md#constant-MAX_LINE_BYTES
32
+ Agent::Sessions::Adapters::Enumeration.bytes_for,Method,Agent/Sessions/Adapters/Enumeration.md#method-i-bytes_for
33
+ Agent::Sessions::Adapters::Enumeration.encode_project,Method,Agent/Sessions/Adapters/Enumeration.md#method-i-encode_project
34
+ Agent::Sessions::Adapters::Enumeration.project_dir_name,Method,Agent/Sessions/Adapters/Enumeration.md#method-i-project_dir_name
35
+ Agent::Sessions::Adapters::Enumeration.project_path_for,Method,Agent/Sessions/Adapters/Enumeration.md#method-i-project_path_for
36
+ Agent::Sessions::Adapters::Enumeration.project_paths,Method,Agent/Sessions/Adapters/Enumeration.md#method-i-project_paths
37
+ Agent::Sessions::Adapters::Enumeration.session_id_from,Method,Agent/Sessions/Adapters/Enumeration.md#method-i-session_id_from
38
+ Agent::Sessions::Adapters::Enumeration.sessions,Method,Agent/Sessions/Adapters/Enumeration.md#method-i-sessions
39
+ Agent::Sessions::Adapters::Enumeration.sessions_for_project,Method,Agent/Sessions/Adapters/Enumeration.md#method-i-sessions_for_project
40
+ Agent::Sessions::Adapters::Enumeration.started_at_for,Method,Agent/Sessions/Adapters/Enumeration.md#method-i-started_at_for
41
+ Agent::Sessions::Adapters::Enumeration.updated_at_for,Method,Agent/Sessions/Adapters/Enumeration.md#method-i-updated_at_for
42
+ Agent::Sessions::CLI,Class,Agent/Sessions/CLI.md
43
+ Agent::Sessions::CLI.STATUS_MARKS,Constant,Agent/Sessions/CLI.md#constant-STATUS_MARKS
44
+ Agent::Sessions::CLI.SINCE_UNITS,Constant,Agent/Sessions/CLI.md#constant-SINCE_UNITS
45
+ Agent::Sessions::CLI.ID_COLUMN_MAX,Constant,Agent/Sessions/CLI.md#constant-ID_COLUMN_MAX
46
+ Agent::Sessions::CLI.GROUP_COLUMN_MAX,Constant,Agent/Sessions/CLI.md#constant-GROUP_COLUMN_MAX
47
+ Agent::Sessions::CLI.initialize,Method,Agent/Sessions/CLI.md#method-i-initialize
48
+ Agent::Sessions::CLI.run,Method,Agent/Sessions/CLI.md#method-i-run
49
+ Agent::Sessions::Node,Class,Agent/Sessions/Node.md
50
+ Agent::Sessions::Node.children,Attribute,Agent/Sessions/Node.md#attribute-i-children
51
+ Agent::Sessions::Node.message,Attribute,Agent/Sessions/Node.md#attribute-i-message
52
+ Agent::Sessions::Part,Class,Agent/Sessions/Part.md
53
+ Agent::Sessions::Part.TYPES,Constant,Agent/Sessions/Part.md#constant-TYPES
54
+ Agent::Sessions::Part.initialize,Method,Agent/Sessions/Part.md#method-i-initialize
55
+ Agent::Sessions::Part.call_id,Attribute,Agent/Sessions/Part.md#attribute-i-call_id
56
+ Agent::Sessions::Part.name,Attribute,Agent/Sessions/Part.md#attribute-i-name
57
+ Agent::Sessions::Part.text,Attribute,Agent/Sessions/Part.md#attribute-i-text
58
+ Agent::Sessions::Part.type,Attribute,Agent/Sessions/Part.md#attribute-i-type
59
+ Agent::Sessions::Audit,Class,Agent/Sessions/Audit.md
60
+ Agent::Sessions::Audit.SYNC_ROOTS,Constant,Agent/Sessions/Audit.md#constant-SYNC_ROOTS
61
+ Agent::Sessions::Audit.initialize,Method,Agent/Sessions/Audit.md#method-i-initialize
62
+ Agent::Sessions::Audit.report,Method,Agent/Sessions/Audit.md#method-i-report
63
+ Agent::Sessions::Audit::Finding,Class,Agent/Sessions/Audit/Finding.md
64
+ Agent::Sessions::Audit::Finding.agent,Attribute,Agent/Sessions/Audit/Finding.md#attribute-i-agent
65
+ Agent::Sessions::Audit::Finding.bytes,Attribute,Agent/Sessions/Audit/Finding.md#attribute-i-bytes
66
+ Agent::Sessions::Audit::Finding.kind,Attribute,Agent/Sessions/Audit/Finding.md#attribute-i-kind
67
+ Agent::Sessions::Audit::Finding.path,Attribute,Agent/Sessions/Audit/Finding.md#attribute-i-path
68
+ Agent::Sessions::Audit::Finding.synced_to,Attribute,Agent/Sessions/Audit/Finding.md#attribute-i-synced_to
69
+ Agent::Sessions::Check,Class,Agent/Sessions/Check.md
70
+ Agent::Sessions::Check.pass?,Method,Agent/Sessions/Check.md#method-i-pass-3F
71
+ Agent::Sessions::Check.agent,Attribute,Agent/Sessions/Check.md#attribute-i-agent
72
+ Agent::Sessions::Check.claim,Attribute,Agent/Sessions/Check.md#attribute-i-claim
73
+ Agent::Sessions::Check.detail,Attribute,Agent/Sessions/Check.md#attribute-i-detail
74
+ Agent::Sessions::Check.status,Attribute,Agent/Sessions/Check.md#attribute-i-status
75
+ Agent::Sessions::Error,Class,Agent/Sessions/Error.md
76
+ Agent::Sessions::Store,Class,Agent/Sessions/Store.md
77
+ Agent::Sessions::Store.documented?,Method,Agent/Sessions/Store.md#method-i-documented-3F
78
+ Agent::Sessions::Store.format,Method,Agent/Sessions/Store.md#method-i-format
79
+ Agent::Sessions::Store.installed?,Method,Agent/Sessions/Store.md#method-i-installed-3F
80
+ Agent::Sessions::Store.agent,Attribute,Agent/Sessions/Store.md#attribute-i-agent
81
+ Agent::Sessions::Store.documented,Attribute,Agent/Sessions/Store.md#attribute-i-documented
82
+ Agent::Sessions::Store.effective,Attribute,Agent/Sessions/Store.md#attribute-i-effective
83
+ Agent::Sessions::Store.env_overrides,Attribute,Agent/Sessions/Store.md#attribute-i-env_overrides
84
+ Agent::Sessions::Store.label,Attribute,Agent/Sessions/Store.md#attribute-i-label
85
+ Agent::Sessions::Store.layers,Attribute,Agent/Sessions/Store.md#attribute-i-layers
86
+ Agent::Sessions::Store.retention,Attribute,Agent/Sessions/Store.md#attribute-i-retention
87
+ Agent::Sessions::Store.retention_source,Attribute,Agent/Sessions/Store.md#attribute-i-retention_source
88
+ Agent::Sessions::Store.verified_on,Attribute,Agent/Sessions/Store.md#attribute-i-verified_on
89
+ Agent::Sessions::Store.warnings,Attribute,Agent/Sessions/Store.md#attribute-i-warnings
90
+ Agent::Sessions::Usage,Class,Agent/Sessions/Usage.md
91
+ Agent::Sessions::Usage.+,Method,Agent/Sessions/Usage.md#method-i--2B
92
+ Agent::Sessions::Usage.initialize,Method,Agent/Sessions/Usage.md#method-i-initialize
93
+ Agent::Sessions::Usage.cache_creation,Attribute,Agent/Sessions/Usage.md#attribute-i-cache_creation
94
+ Agent::Sessions::Usage.cache_read,Attribute,Agent/Sessions/Usage.md#attribute-i-cache_read
95
+ Agent::Sessions::Usage.cost,Attribute,Agent/Sessions/Usage.md#attribute-i-cost
96
+ Agent::Sessions::Usage.input,Attribute,Agent/Sessions/Usage.md#attribute-i-input
97
+ Agent::Sessions::Usage.output,Attribute,Agent/Sessions/Usage.md#attribute-i-output
98
+ Agent::Sessions::Usage.reasoning,Attribute,Agent/Sessions/Usage.md#attribute-i-reasoning
99
+ Agent::Sessions::Message,Class,Agent/Sessions/Message.md
100
+ Agent::Sessions::Message.ROLES,Constant,Agent/Sessions/Message.md#constant-ROLES
101
+ Agent::Sessions::Message.initialize,Method,Agent/Sessions/Message.md#method-i-initialize
102
+ Agent::Sessions::Message.text,Method,Agent/Sessions/Message.md#method-i-text
103
+ Agent::Sessions::Message.at,Attribute,Agent/Sessions/Message.md#attribute-i-at
104
+ Agent::Sessions::Message.model,Attribute,Agent/Sessions/Message.md#attribute-i-model
105
+ Agent::Sessions::Message.parts,Attribute,Agent/Sessions/Message.md#attribute-i-parts
106
+ Agent::Sessions::Message.raw,Attribute,Agent/Sessions/Message.md#attribute-i-raw
107
+ Agent::Sessions::Message.role,Attribute,Agent/Sessions/Message.md#attribute-i-role
108
+ Agent::Sessions::Message.usage,Attribute,Agent/Sessions/Message.md#attribute-i-usage
109
+ Agent::Sessions::Session,Class,Agent/Sessions/Session.md
110
+ Agent::Sessions::Session.UNRESOLVED,Constant,Agent/Sessions/Session.md#constant-UNRESOLVED
111
+ Agent::Sessions::Session.initialize,Method,Agent/Sessions/Session.md#method-i-initialize
112
+ Agent::Sessions::Session.inspect,Method,Agent/Sessions/Session.md#method-i-inspect
113
+ Agent::Sessions::Session.project_path,Method,Agent/Sessions/Session.md#method-i-project_path
114
+ Agent::Sessions::Session.to_h,Method,Agent/Sessions/Session.md#method-i-to_h
115
+ Agent::Sessions::Session.uid,Method,Agent/Sessions/Session.md#method-i-uid
116
+ Agent::Sessions::Session.agent,Attribute,Agent/Sessions/Session.md#attribute-i-agent
117
+ Agent::Sessions::Session.bytes,Attribute,Agent/Sessions/Session.md#attribute-i-bytes
118
+ Agent::Sessions::Session.fidelity,Attribute,Agent/Sessions/Session.md#attribute-i-fidelity
119
+ Agent::Sessions::Session.format,Attribute,Agent/Sessions/Session.md#attribute-i-format
120
+ Agent::Sessions::Session.id,Attribute,Agent/Sessions/Session.md#attribute-i-id
121
+ Agent::Sessions::Session.path,Attribute,Agent/Sessions/Session.md#attribute-i-path
122
+ Agent::Sessions::Session.started_at,Attribute,Agent/Sessions/Session.md#attribute-i-started_at
123
+ Agent::Sessions::Session.updated_at,Attribute,Agent/Sessions/Session.md#attribute-i-updated_at
124
+ Agent::Sessions::Location,Class,Agent/Sessions/Location.md
125
+ Agent::Sessions::Location.enumerable?,Method,Agent/Sessions/Location.md#method-i-enumerable-3F
126
+ Agent::Sessions::Location.exists?,Method,Agent/Sessions/Location.md#method-i-exists-3F
127
+ Agent::Sessions::Location.files,Method,Agent/Sessions/Location.md#method-i-files
128
+ Agent::Sessions::Location.initialize,Method,Agent/Sessions/Location.md#method-i-initialize
129
+ Agent::Sessions::Location.format,Attribute,Agent/Sessions/Location.md#attribute-i-format
130
+ Agent::Sessions::Location.glob,Attribute,Agent/Sessions/Location.md#attribute-i-glob
131
+ Agent::Sessions::Location.kind,Attribute,Agent/Sessions/Location.md#attribute-i-kind
132
+ Agent::Sessions::Location.path,Attribute,Agent/Sessions/Location.md#attribute-i-path
133
+ Agent::Sessions::Location.single_file,Attribute,Agent/Sessions/Location.md#attribute-i-single_file
134
+ Agent::Sessions::Compaction,Class,Agent/Sessions/Compaction.md
135
+ Agent::Sessions::Compaction.at,Attribute,Agent/Sessions/Compaction.md#attribute-i-at
136
+ Agent::Sessions::Compaction.raw,Attribute,Agent/Sessions/Compaction.md#attribute-i-raw
137
+ Agent::Sessions::Compaction.replaced_count,Attribute,Agent/Sessions/Compaction.md#attribute-i-replaced_count
138
+ Agent::Sessions::Readers::Pi,Class,Agent/Sessions/Readers/Pi.md
139
+ Agent::Sessions::Readers::Pi.NON_MESSAGE_TYPES,Constant,Agent/Sessions/Readers/Pi.md#constant-NON_MESSAGE_TYPES
140
+ Agent::Sessions::Readers::Pi.ROLES,Constant,Agent/Sessions/Readers/Pi.md#constant-ROLES
141
+ Agent::Sessions::Readers::Pi.usage,Method,Agent/Sessions/Readers/Pi.md#method-i-usage
142
+ Agent::Sessions::Adapters::Pi,Class,Agent/Sessions/Adapters/Pi.md
143
+ Agent::Sessions::Adapters::Pi.FILENAME,Constant,Agent/Sessions/Adapters/Pi.md#constant-FILENAME
144
+ Agent::Sessions::Adapters::Pi.encode_project,Method,Agent/Sessions/Adapters/Pi.md#method-i-encode_project
145
+ Agent::Sessions::Adapters::Pi.project_path_for,Method,Agent/Sessions/Adapters/Pi.md#method-i-project_path_for
146
+ Agent::Sessions::Adapters::Pi.session_id_from,Method,Agent/Sessions/Adapters/Pi.md#method-i-session_id_from
147
+ Agent::Sessions::Adapters::Pi.started_at_for,Method,Agent/Sessions/Adapters/Pi.md#method-i-started_at_for
148
+ Agent::Sessions::Adapters::Pi.warnings,Method,Agent/Sessions/Adapters/Pi.md#method-i-warnings
149
+ Agent::Sessions::Adapters::Pi.reader_class,Method,Agent/Sessions/Adapters/Pi.md#method-c-reader_class
150
+ Agent::Sessions::Readers::Amp,Class,Agent/Sessions/Readers/Amp.md
151
+ Agent::Sessions::Readers::Amp.MAX_DOCUMENT_BYTES,Constant,Agent/Sessions/Readers/Amp.md#constant-MAX_DOCUMENT_BYTES
152
+ Agent::Sessions::Readers::Amp.CONTENT_PARTS,Constant,Agent/Sessions/Readers/Amp.md#constant-CONTENT_PARTS
153
+ Agent::Sessions::Readers::Amp.ROLES,Constant,Agent/Sessions/Readers/Amp.md#constant-ROLES
154
+ Agent::Sessions::Readers::Amp.partial?,Method,Agent/Sessions/Readers/Amp.md#method-i-partial-3F
155
+ Agent::Sessions::Adapters::Amp,Class,Agent/Sessions/Adapters/Amp.md
156
+ Agent::Sessions::Adapters::Amp.project_path_for,Method,Agent/Sessions/Adapters/Amp.md#method-i-project_path_for
157
+ Agent::Sessions::Adapters::Amp.warnings,Method,Agent/Sessions/Adapters/Amp.md#method-i-warnings
158
+ Agent::Sessions::Adapters::Amp.reader_class,Method,Agent/Sessions/Adapters/Amp.md#method-c-reader_class
159
+ Agent::Sessions::EnvOverride,Class,Agent/Sessions/EnvOverride.md
160
+ Agent::Sessions::EnvOverride.active?,Method,Agent/Sessions/EnvOverride.md#method-i-active-3F
161
+ Agent::Sessions::EnvOverride.name,Attribute,Agent/Sessions/EnvOverride.md#attribute-i-name
162
+ Agent::Sessions::EnvOverride.value,Attribute,Agent/Sessions/EnvOverride.md#attribute-i-value
163
+ Agent::Sessions::Readers::Base,Class,Agent/Sessions/Readers/Base.md
164
+ Agent::Sessions::Readers::Base.MAX_RECORD_BYTES,Constant,Agent/Sessions/Readers/Base.md#constant-MAX_RECORD_BYTES
165
+ Agent::Sessions::Readers::Base.branching?,Method,Agent/Sessions/Readers/Base.md#method-i-branching-3F
166
+ Agent::Sessions::Readers::Base.compactions,Method,Agent/Sessions/Readers/Base.md#method-i-compactions
167
+ Agent::Sessions::Readers::Base.each_message,Method,Agent/Sessions/Readers/Base.md#method-i-each_message
168
+ Agent::Sessions::Readers::Base.fidelity,Method,Agent/Sessions/Readers/Base.md#method-i-fidelity
169
+ Agent::Sessions::Readers::Base.initialize,Method,Agent/Sessions/Readers/Base.md#method-i-initialize
170
+ Agent::Sessions::Readers::Base.messages,Method,Agent/Sessions/Readers/Base.md#method-i-messages
171
+ Agent::Sessions::Readers::Base.partial?,Method,Agent/Sessions/Readers/Base.md#method-i-partial-3F
172
+ Agent::Sessions::Readers::Base.tree,Method,Agent/Sessions/Readers/Base.md#method-i-tree
173
+ Agent::Sessions::Readers::Base.usage,Method,Agent/Sessions/Readers/Base.md#method-i-usage
174
+ Agent::Sessions::Readers::Base.warnings,Method,Agent/Sessions/Readers/Base.md#method-i-warnings
175
+ Agent::Sessions::Readers::Base.session,Attribute,Agent/Sessions/Readers/Base.md#attribute-i-session
176
+ Agent::Sessions::Readers::Grok,Class,Agent/Sessions/Readers/Grok.md
177
+ Agent::Sessions::Readers::Grok.TRANSCRIPT,Constant,Agent/Sessions/Readers/Grok.md#constant-TRANSCRIPT
178
+ Agent::Sessions::Readers::Grok.UNIFIED_LOG,Constant,Agent/Sessions/Readers/Grok.md#constant-UNIFIED_LOG
179
+ Agent::Sessions::Readers::Grok.INFERENCE,Constant,Agent/Sessions/Readers/Grok.md#constant-INFERENCE
180
+ Agent::Sessions::Readers::Grok.ROLES,Constant,Agent/Sessions/Readers/Grok.md#constant-ROLES
181
+ Agent::Sessions::Readers::Grok.summary,Method,Agent/Sessions/Readers/Grok.md#method-i-summary
182
+ Agent::Sessions::Readers::Grok.usage,Method,Agent/Sessions/Readers/Grok.md#method-i-usage
183
+ Agent::Sessions::Readers::Qwen,Class,Agent/Sessions/Readers/Qwen.md
184
+ Agent::Sessions::Readers::Qwen.CONTENT_PARTS,Constant,Agent/Sessions/Readers/Qwen.md#constant-CONTENT_PARTS
185
+ Agent::Sessions::Readers::Qwen.usage,Method,Agent/Sessions/Readers/Qwen.md#method-i-usage
186
+ Agent::Sessions::Adapters::Base,Class,Agent/Sessions/Adapters/Base.md
187
+ Agent::Sessions::Adapters::Base.FIDELITIES,Constant,Agent/Sessions/Adapters/Base.md#constant-FIDELITIES
188
+ Agent::Sessions::Adapters::Base.base_dir,Method,Agent/Sessions/Adapters/Base.md#method-i-base_dir
189
+ Agent::Sessions::Adapters::Base.bytes_for,Method,Agent/Sessions/Adapters/Base.md#method-i-bytes_for
190
+ Agent::Sessions::Adapters::Base.encode_project,Method,Agent/Sessions/Adapters/Base.md#method-i-encode_project
191
+ Agent::Sessions::Adapters::Base.initialize,Method,Agent/Sessions/Adapters/Base.md#method-i-initialize
192
+ Agent::Sessions::Adapters::Base.locate,Method,Agent/Sessions/Adapters/Base.md#method-i-locate
193
+ Agent::Sessions::Adapters::Base.project_dir_name,Method,Agent/Sessions/Adapters/Base.md#method-i-project_dir_name
194
+ Agent::Sessions::Adapters::Base.project_path_for,Method,Agent/Sessions/Adapters/Base.md#method-i-project_path_for
195
+ Agent::Sessions::Adapters::Base.project_paths,Method,Agent/Sessions/Adapters/Base.md#method-i-project_paths
196
+ Agent::Sessions::Adapters::Base.retention,Method,Agent/Sessions/Adapters/Base.md#method-i-retention
197
+ Agent::Sessions::Adapters::Base.retention_source,Method,Agent/Sessions/Adapters/Base.md#method-i-retention_source
198
+ Agent::Sessions::Adapters::Base.session_id_from,Method,Agent/Sessions/Adapters/Base.md#method-i-session_id_from
199
+ Agent::Sessions::Adapters::Base.sessions,Method,Agent/Sessions/Adapters/Base.md#method-i-sessions
200
+ Agent::Sessions::Adapters::Base.sessions_for_project,Method,Agent/Sessions/Adapters/Base.md#method-i-sessions_for_project
201
+ Agent::Sessions::Adapters::Base.started_at_for,Method,Agent/Sessions/Adapters/Base.md#method-i-started_at_for
202
+ Agent::Sessions::Adapters::Base.updated_at_for,Method,Agent/Sessions/Adapters/Base.md#method-i-updated_at_for
203
+ Agent::Sessions::Adapters::Base.verify,Method,Agent/Sessions/Adapters/Base.md#method-i-verify
204
+ Agent::Sessions::Adapters::Base.warnings,Method,Agent/Sessions/Adapters/Base.md#method-i-warnings
205
+ Agent::Sessions::Adapters::Base.fidelity_value,Method,Agent/Sessions/Adapters/Base.md#method-c-fidelity_value
206
+ Agent::Sessions::Adapters::Base.homedir_config,Method,Agent/Sessions/Adapters/Base.md#method-c-homedir_config
207
+ Agent::Sessions::Adapters::Base.reader_class,Method,Agent/Sessions/Adapters/Base.md#method-c-reader_class
208
+ Agent::Sessions::Adapters::Base.store_configs,Method,Agent/Sessions/Adapters/Base.md#method-c-store_configs
209
+ Agent::Sessions::Adapters::Base.agent_name,Attribute,Agent/Sessions/Adapters/Base.md#attribute-c-agent_name
210
+ Agent::Sessions::Adapters::Base.declared_warnings,Attribute,Agent/Sessions/Adapters/Base.md#attribute-c-declared_warnings
211
+ Agent::Sessions::Adapters::Base.documented_value,Attribute,Agent/Sessions/Adapters/Base.md#attribute-c-documented_value
212
+ Agent::Sessions::Adapters::Base.label_text,Attribute,Agent/Sessions/Adapters/Base.md#attribute-c-label_text
213
+ Agent::Sessions::Adapters::Base.verified_on_date,Attribute,Agent/Sessions/Adapters/Base.md#attribute-c-verified_on_date
214
+ Agent::Sessions::Adapters::Grok,Class,Agent/Sessions/Adapters/Grok.md
215
+ Agent::Sessions::Adapters::Grok.bytes_for,Method,Agent/Sessions/Adapters/Grok.md#method-i-bytes_for
216
+ Agent::Sessions::Adapters::Grok.decode_project,Method,Agent/Sessions/Adapters/Grok.md#method-i-decode_project
217
+ Agent::Sessions::Adapters::Grok.encode_project,Method,Agent/Sessions/Adapters/Grok.md#method-i-encode_project
218
+ Agent::Sessions::Adapters::Grok.project_dir_name,Method,Agent/Sessions/Adapters/Grok.md#method-i-project_dir_name
219
+ Agent::Sessions::Adapters::Grok.project_path_for,Method,Agent/Sessions/Adapters/Grok.md#method-i-project_path_for
220
+ Agent::Sessions::Adapters::Grok.session_id_from,Method,Agent/Sessions/Adapters/Grok.md#method-i-session_id_from
221
+ Agent::Sessions::Adapters::Grok.started_at_for,Method,Agent/Sessions/Adapters/Grok.md#method-i-started_at_for
222
+ Agent::Sessions::Adapters::Grok.updated_at_for,Method,Agent/Sessions/Adapters/Grok.md#method-i-updated_at_for
223
+ Agent::Sessions::Adapters::Grok.warnings,Method,Agent/Sessions/Adapters/Grok.md#method-i-warnings
224
+ Agent::Sessions::Adapters::Grok.reader_class,Method,Agent/Sessions/Adapters/Grok.md#method-c-reader_class
225
+ Agent::Sessions::Adapters::Qwen,Class,Agent/Sessions/Adapters/Qwen.md
226
+ Agent::Sessions::Adapters::Qwen.project_path_for,Method,Agent/Sessions/Adapters/Qwen.md#method-i-project_path_for
227
+ Agent::Sessions::Adapters::Qwen.warnings,Method,Agent/Sessions/Adapters/Qwen.md#method-i-warnings
228
+ Agent::Sessions::Adapters::Qwen.reader_class,Method,Agent/Sessions/Adapters/Qwen.md#method-c-reader_class
229
+ Agent::Sessions::Readers::Codex,Class,Agent/Sessions/Readers/Codex.md
230
+ Agent::Sessions::Readers::Codex.NON_MESSAGE_TYPES,Constant,Agent/Sessions/Readers/Codex.md#constant-NON_MESSAGE_TYPES
231
+ Agent::Sessions::Readers::Codex.ROLES,Constant,Agent/Sessions/Readers/Codex.md#constant-ROLES
232
+ Agent::Sessions::Readers::Codex.CONTENT_PARTS,Constant,Agent/Sessions/Readers/Codex.md#constant-CONTENT_PARTS
233
+ Agent::Sessions::Readers::Codex.TOOL_CALLS,Constant,Agent/Sessions/Readers/Codex.md#constant-TOOL_CALLS
234
+ Agent::Sessions::Readers::Codex.TOOL_OUTPUTS,Constant,Agent/Sessions/Readers/Codex.md#constant-TOOL_OUTPUTS
235
+ Agent::Sessions::Readers::Codex.NON_MESSAGE_ITEMS,Constant,Agent/Sessions/Readers/Codex.md#constant-NON_MESSAGE_ITEMS
236
+ Agent::Sessions::Readers::Codex.CALL_INPUTS,Constant,Agent/Sessions/Readers/Codex.md#constant-CALL_INPUTS
237
+ Agent::Sessions::Readers::Codex.CALL_OUTPUTS,Constant,Agent/Sessions/Readers/Codex.md#constant-CALL_OUTPUTS
238
+ Agent::Sessions::Readers::Codex.usage,Method,Agent/Sessions/Readers/Codex.md#method-i-usage
239
+ Agent::Sessions::UnknownAgent,Class,Agent/Sessions/UnknownAgent.md
240
+ Agent::Sessions::Adapters::Codex,Class,Agent/Sessions/Adapters/Codex.md
241
+ Agent::Sessions::Adapters::Codex.FILENAME,Constant,Agent/Sessions/Adapters/Codex.md#constant-FILENAME
242
+ Agent::Sessions::Adapters::Codex.project_path_for,Method,Agent/Sessions/Adapters/Codex.md#method-i-project_path_for
243
+ Agent::Sessions::Adapters::Codex.session_id_from,Method,Agent/Sessions/Adapters/Codex.md#method-i-session_id_from
244
+ Agent::Sessions::Adapters::Codex.sessions,Method,Agent/Sessions/Adapters/Codex.md#method-i-sessions
245
+ Agent::Sessions::Adapters::Codex.started_at_for,Method,Agent/Sessions/Adapters/Codex.md#method-i-started_at_for
246
+ Agent::Sessions::Adapters::Codex.reader_class,Method,Agent/Sessions/Adapters/Codex.md#method-c-reader_class
247
+ Agent::Sessions::Readers::Claude,Class,Agent/Sessions/Readers/Claude.md
248
+ Agent::Sessions::Readers::Claude.NON_MESSAGE_TYPES,Constant,Agent/Sessions/Readers/Claude.md#constant-NON_MESSAGE_TYPES
249
+ Agent::Sessions::Readers::Claude.EVENT_TYPES,Constant,Agent/Sessions/Readers/Claude.md#constant-EVENT_TYPES
250
+ Agent::Sessions::Readers::Claude.CONTENT_PARTS,Constant,Agent/Sessions/Readers/Claude.md#constant-CONTENT_PARTS
251
+ Agent::Sessions::Readers::Claude.SPILL,Constant,Agent/Sessions/Readers/Claude.md#constant-SPILL
252
+ Agent::Sessions::Readers::Claude.MAX_SPILL_BYTES,Constant,Agent/Sessions/Readers/Claude.md#constant-MAX_SPILL_BYTES
253
+ Agent::Sessions::Readers::Claude.branching?,Method,Agent/Sessions/Readers/Claude.md#method-i-branching-3F
254
+ Agent::Sessions::Readers::Claude.initialize,Method,Agent/Sessions/Readers/Claude.md#method-i-initialize
255
+ Agent::Sessions::Readers::Claude.subagents,Method,Agent/Sessions/Readers/Claude.md#method-i-subagents
256
+ Agent::Sessions::Readers::Claude.usage,Method,Agent/Sessions/Readers/Claude.md#method-i-usage
257
+ Agent::Sessions::Readers::Gemini,Class,Agent/Sessions/Readers/Gemini.md
258
+ Agent::Sessions::Readers::Gemini.MAX_DOCUMENT_BYTES,Constant,Agent/Sessions/Readers/Gemini.md#constant-MAX_DOCUMENT_BYTES
259
+ Agent::Sessions::Readers::Gemini.ROLES,Constant,Agent/Sessions/Readers/Gemini.md#constant-ROLES
260
+ Agent::Sessions::Readers::Gemini.header,Method,Agent/Sessions/Readers/Gemini.md#method-i-header
261
+ Agent::Sessions::Readers::Gemini.usage,Method,Agent/Sessions/Readers/Gemini.md#method-i-usage
262
+ Agent::Sessions::Adapters::Claude,Class,Agent/Sessions/Adapters/Claude.md
263
+ Agent::Sessions::Adapters::Claude.DEFAULT_CLEANUP_PERIOD_DAYS,Constant,Agent/Sessions/Adapters/Claude.md#constant-DEFAULT_CLEANUP_PERIOD_DAYS
264
+ Agent::Sessions::Adapters::Claude.bytes_for,Method,Agent/Sessions/Adapters/Claude.md#method-i-bytes_for
265
+ Agent::Sessions::Adapters::Claude.encode_project,Method,Agent/Sessions/Adapters/Claude.md#method-i-encode_project
266
+ Agent::Sessions::Adapters::Claude.project_path_for,Method,Agent/Sessions/Adapters/Claude.md#method-i-project_path_for
267
+ Agent::Sessions::Adapters::Claude.retention,Method,Agent/Sessions/Adapters/Claude.md#method-i-retention
268
+ Agent::Sessions::Adapters::Claude.retention_source,Method,Agent/Sessions/Adapters/Claude.md#method-i-retention_source
269
+ Agent::Sessions::Adapters::Claude.warnings,Method,Agent/Sessions/Adapters/Claude.md#method-i-warnings
270
+ Agent::Sessions::Adapters::Claude.reader_class,Method,Agent/Sessions/Adapters/Claude.md#method-c-reader_class
271
+ Agent::Sessions::Adapters::Cursor,Class,Agent/Sessions/Adapters/Cursor.md
272
+ Agent::Sessions::Adapters::Cursor.project_path_for,Method,Agent/Sessions/Adapters/Cursor.md#method-i-project_path_for
273
+ Agent::Sessions::Adapters::Cursor.session_id_from,Method,Agent/Sessions/Adapters/Cursor.md#method-i-session_id_from
274
+ Agent::Sessions::Adapters::Cursor.started_at_for,Method,Agent/Sessions/Adapters/Cursor.md#method-i-started_at_for
275
+ Agent::Sessions::Adapters::Cursor.updated_at_for,Method,Agent/Sessions/Adapters/Cursor.md#method-i-updated_at_for
276
+ Agent::Sessions::Adapters::Cursor.warnings,Method,Agent/Sessions/Adapters/Cursor.md#method-i-warnings
277
+ Agent::Sessions::Adapters::Gemini,Class,Agent/Sessions/Adapters/Gemini.md
278
+ Agent::Sessions::Adapters::Gemini.FILENAME,Constant,Agent/Sessions/Adapters/Gemini.md#constant-FILENAME
279
+ Agent::Sessions::Adapters::Gemini.encode_project,Method,Agent/Sessions/Adapters/Gemini.md#method-i-encode_project
280
+ Agent::Sessions::Adapters::Gemini.project_dir_name,Method,Agent/Sessions/Adapters/Gemini.md#method-i-project_dir_name
281
+ Agent::Sessions::Adapters::Gemini.project_path_for,Method,Agent/Sessions/Adapters/Gemini.md#method-i-project_path_for
282
+ Agent::Sessions::Adapters::Gemini.project_paths,Method,Agent/Sessions/Adapters/Gemini.md#method-i-project_paths
283
+ Agent::Sessions::Adapters::Gemini.started_at_for,Method,Agent/Sessions/Adapters/Gemini.md#method-i-started_at_for
284
+ Agent::Sessions::Adapters::Gemini.warnings,Method,Agent/Sessions/Adapters/Gemini.md#method-i-warnings
285
+ Agent::Sessions::Adapters::Gemini.reader_class,Method,Agent/Sessions/Adapters/Gemini.md#method-c-reader_class
286
+ Agent::Sessions::Readers::Copilot,Class,Agent/Sessions/Readers/Copilot.md
287
+ Agent::Sessions::Readers::Copilot.each_message,Method,Agent/Sessions/Readers/Copilot.md#method-i-each_message
288
+ Agent::Sessions::Readers::Copilot.usage,Method,Agent/Sessions/Readers/Copilot.md#method-i-usage
289
+ Agent::Sessions::Adapters::Copilot,Class,Agent/Sessions/Adapters/Copilot.md
290
+ Agent::Sessions::Adapters::Copilot.SESSION_COLUMNS,Constant,Agent/Sessions/Adapters/Copilot.md#constant-SESSION_COLUMNS
291
+ Agent::Sessions::Adapters::Copilot.project_paths,Method,Agent/Sessions/Adapters/Copilot.md#method-i-project_paths
292
+ Agent::Sessions::Adapters::Copilot.sessions,Method,Agent/Sessions/Adapters/Copilot.md#method-i-sessions
293
+ Agent::Sessions::Adapters::Copilot.sessions_for_project,Method,Agent/Sessions/Adapters/Copilot.md#method-i-sessions_for_project
294
+ Agent::Sessions::Adapters::Copilot.reader_class,Method,Agent/Sessions/Adapters/Copilot.md#method-c-reader_class
295
+ Agent::Sessions::Readers::Opencode,Class,Agent/Sessions/Readers/Opencode.md
296
+ Agent::Sessions::Readers::Opencode.CONTENT_PARTS,Constant,Agent/Sessions/Readers/Opencode.md#constant-CONTENT_PARTS
297
+ Agent::Sessions::Readers::Opencode.STATE_PARTS,Constant,Agent/Sessions/Readers/Opencode.md#constant-STATE_PARTS
298
+ Agent::Sessions::Readers::Opencode.usage,Method,Agent/Sessions/Readers/Opencode.md#method-i-usage
299
+ Agent::Sessions::UnreadableStore,Class,Agent/Sessions/UnreadableStore.md
300
+ Agent::Sessions::Adapters::Opencode,Class,Agent/Sessions/Adapters/Opencode.md
301
+ Agent::Sessions::Adapters::Opencode.DATABASE_GLOB,Constant,Agent/Sessions/Adapters/Opencode.md#constant-DATABASE_GLOB
302
+ Agent::Sessions::Adapters::Opencode.SESSION_COLUMNS,Constant,Agent/Sessions/Adapters/Opencode.md#constant-SESSION_COLUMNS
303
+ Agent::Sessions::Adapters::Opencode.base_dir,Method,Agent/Sessions/Adapters/Opencode.md#method-i-base_dir
304
+ Agent::Sessions::Adapters::Opencode.project_paths,Method,Agent/Sessions/Adapters/Opencode.md#method-i-project_paths
305
+ Agent::Sessions::Adapters::Opencode.sessions,Method,Agent/Sessions/Adapters/Opencode.md#method-i-sessions
306
+ Agent::Sessions::Adapters::Opencode.sessions_for_project,Method,Agent/Sessions/Adapters/Opencode.md#method-i-sessions_for_project
307
+ Agent::Sessions::Adapters::Opencode.verify,Method,Agent/Sessions/Adapters/Opencode.md#method-i-verify
308
+ Agent::Sessions::Adapters::Opencode.reader_class,Method,Agent/Sessions/Adapters/Opencode.md#method-c-reader_class
309
+ Agent::Sessions::MissingDependency,Class,Agent/Sessions/MissingDependency.md
310
+ Agent::Sessions::UnsupportedFormat,Class,Agent/Sessions/UnsupportedFormat.md
311
+ Agent::Sessions::Adapters::CursorIde,Class,Agent/Sessions/Adapters/CursorIde.md
312
+ Agent::Sessions::Adapters::CursorIde.KEY_PREFIX,Constant,Agent/Sessions/Adapters/CursorIde.md#constant-KEY_PREFIX
313
+ Agent::Sessions::Adapters::CursorIde.project_path_for,Method,Agent/Sessions/Adapters/CursorIde.md#method-i-project_path_for
314
+ Agent::Sessions::Adapters::CursorIde.project_paths,Method,Agent/Sessions/Adapters/CursorIde.md#method-i-project_paths
315
+ Agent::Sessions::Adapters::CursorIde.sessions,Method,Agent/Sessions/Adapters/CursorIde.md#method-i-sessions
316
+ Agent::Sessions::Adapters::CursorIde.sessions_for_project,Method,Agent/Sessions/Adapters/CursorIde.md#method-i-sessions_for_project
data/exe/agent-sessions CHANGED
@@ -1,8 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
- $LOAD_PATH.unshift(File.expand_path("../lib", __dir__))
5
-
6
4
  require "agent/sessions"
7
5
 
8
6
  exit Agent::Sessions::CLI.new(ARGV).run
@@ -115,12 +115,12 @@ module Agent
115
115
  # (`@project_path_resolver = nil`) on a Session's FIRST #project_path
116
116
  # call, not before — so any Session a caller keeps without ever reading
117
117
  # project_path stays holding a live reference to the whole adapter,
118
- # @meta included. `list` is exactly that caller: it never touches
118
+ # `@meta` included. `list` is exactly that caller: it never touches
119
119
  # project_path, so every Session it returns keeps this adapter (and
120
- # whatever of @meta got populated enumerating them) alive for as long
120
+ # whatever of `@meta` got populated enumerating them) alive for as long
121
121
  # as the caller holds that Session array — not just for one
122
122
  # enumeration pass. All N sessions from one `sessions` call share the
123
- # SAME adapter instance, so this is one retained @meta hash, not N
123
+ # SAME adapter instance, so this is one retained `@meta` hash, not N
124
124
  # copies of it.
125
125
  #
126
126
  # What actually keeps this acceptable is SIZE, not lifetime: measured
@@ -268,7 +268,7 @@ module Agent
268
268
 
269
269
  # One agent's missing dependency or unreadable store must not silently empty
270
270
  # a cross-agent listing — each skip is announced on stderr, tracked in
271
- # @skipped_agents so the command can exit non-zero, and the rest still
271
+ # `@skipped_agents` so the command can exit non-zero, and the rest still
272
272
  # print. The exit code matters as much as the stderr line: `--json` is the
273
273
  # door built for a machine consumer (design doc section 12), and a machine
274
274
  # reading `[]` next to exit 0 has no way to tell "empty store" from
@@ -335,7 +335,7 @@ module Agent
335
335
  # a skip must flip the exit code even though the rest of the output still
336
336
  # printed successfully. One list, not a list plus a boolean that mirrors
337
337
  # it: two variables recording the same fact (an earlier draft had
338
- # @agents_skipped alongside @skipped_agents) are one rename away from
338
+ # `@agents_skipped` alongside `@skipped_agents`) are one rename away from
339
339
  # silently disagreeing, which is exactly the failure mode decision 11a
340
340
  # exists to prevent.
341
341
  def exit_code_honoring_skips
@@ -16,8 +16,6 @@ module Agent
16
16
  # session-level `usage` is where those formats answer. A nil here means
17
17
  # "not recorded on this message", never "zero tokens".
18
18
  Message = Data.define(:role, :at, :parts, :raw, :usage, :model) do
19
- self::ROLES = %i[user assistant system tool unknown].freeze
20
-
21
19
  def initialize(role:, at:, parts:, raw:, usage: nil, model: nil)
22
20
  roles = self.class::ROLES
23
21
  raise ArgumentError, "role #{role.inspect} must be one of #{roles.join(", ")}" unless roles.include?(role)
@@ -32,5 +30,6 @@ module Agent
32
30
  parts.select { |part| part.type == :text }.map(&:text).join
33
31
  end
34
32
  end
33
+ Message::ROLES = %i[user assistant system tool unknown].freeze
35
34
  end
36
35
  end
@@ -11,8 +11,6 @@ module Agent
11
11
  # neither — its URL or payload stays in raw, because normalizing an image
12
12
  # would mean deciding whether to load it, and reading is stat-cheap by design.
13
13
  Part = Data.define(:type, :text, :name, :call_id) do
14
- self::TYPES = %i[text thinking tool_use tool_result image unknown].freeze
15
-
16
14
  def initialize(type:, text: nil, name: nil, call_id: nil)
17
15
  types = self.class::TYPES
18
16
  raise ArgumentError, "part type #{type.inspect} must be one of #{types.join(", ")}" unless types.include?(type)
@@ -20,5 +18,6 @@ module Agent
20
18
  super
21
19
  end
22
20
  end
21
+ Part::TYPES = %i[text thinking tool_use tool_result image unknown].freeze
23
22
  end
24
23
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Agent
4
4
  module Sessions
5
- VERSION = "0.3.0"
5
+ VERSION = "0.3.1"
6
6
  end
7
7
  end
data/llm.txt ADDED
@@ -0,0 +1,177 @@
1
+ # Module Agent::Sessions <a id="module-Agent-Sessions"></a>
2
+
3
+ | | |
4
+ | --- | --- |
5
+ | **Defined in** | lib/agent/sessions.rb, lib/agent/sessions/cli.rb, lib/agent/sessions/node.rb, lib/agent/sessions/part.rb, lib/agent/sessions/audit.rb, lib/agent/sessions/check.rb, lib/agent/sessions/error.rb, lib/agent/sessions/store.rb, lib/agent/sessions/usage.rb, lib/agent/sessions/sqlite.rb, lib/agent/sessions/message.rb, lib/agent/sessions/session.rb, lib/agent/sessions/version.rb, lib/agent/sessions/location.rb, lib/agent/sessions/compaction.rb, lib/agent/sessions/readers/pi.rb, lib/agent/sessions/adapters/pi.rb, lib/agent/sessions/readers/amp.rb, lib/agent/sessions/adapters/amp.rb, lib/agent/sessions/env_override.rb, lib/agent/sessions/readers/base.rb, lib/agent/sessions/readers/grok.rb, lib/agent/sessions/readers/qwen.rb, lib/agent/sessions/adapters/base.rb, lib/agent/sessions/adapters/grok.rb, lib/agent/sessions/adapters/qwen.rb, lib/agent/sessions/readers/codex.rb, lib/agent/sessions/unknown_agent.rb, lib/agent/sessions/adapters/codex.rb, lib/agent/sessions/home_expansion.rb, lib/agent/sessions/readers/claude.rb, lib/agent/sessions/readers/gemini.rb, lib/agent/sessions/adapters/claude.rb, lib/agent/sessions/adapters/cursor.rb, lib/agent/sessions/adapters/gemini.rb, lib/agent/sessions/readers/copilot.rb, lib/agent/sessions/adapters/copilot.rb, lib/agent/sessions/readers/opencode.rb, lib/agent/sessions/unreadable_store.rb, lib/agent/sessions/adapters/opencode.rb, lib/agent/sessions/missing_dependency.rb, lib/agent/sessions/unsupported_format.rb, lib/agent/sessions/adapters/cursor_ide.rb, lib/agent/sessions/adapters/enumeration.rb |
6
+
7
+ ## Constants
8
+ ### `LOADER` <a id="constant-LOADER"></a> <a id="LOADER-constant"></a>
9
+ Not documented.
10
+
11
+ ### `STALE_AFTER_DAYS` <a id="constant-STALE_AFTER_DAYS"></a> <a id="STALE_AFTER_DAYS-constant"></a>
12
+ Not documented.
13
+
14
+ ### `VERIFIED_ON` <a id="constant-VERIFIED_ON"></a> <a id="VERIFIED_ON-constant"></a>
15
+ The oldest verified_on among the built-in adapters. A claim about somebody
16
+ else's software is only as current as its weakest link, so this is the honest
17
+ answer to "when was this last known to be true".
18
+
19
+ ### `VERSION` <a id="constant-VERSION"></a> <a id="VERSION-constant"></a>
20
+ Not documented.
21
+
22
+ ## Public Class Methods
23
+ ### `agents()` <a id="method-c-agents"></a> <a id="agents-class_method"></a>
24
+ Not documented.
25
+
26
+ ### `all(env: ENV)` <a id="method-c-all"></a> <a id="all-class_method"></a>
27
+ Not documented.
28
+
29
+ ### `audit(env: ENV)` <a id="method-c-audit"></a> <a id="audit-class_method"></a>
30
+ Not documented.
31
+
32
+ ### `doctor(agent = nil, env: ENV, today: Date.today)` <a id="method-c-doctor"></a> <a id="doctor-class_method"></a>
33
+ Not documented.
34
+
35
+ ### `for_project(dir, env: ENV, agents: nil)` <a id="method-c-for_project"></a> <a id="for_project-class_method"></a>
36
+ One project across every agent (or the agents: subset), lazily: adapters
37
+ earlier in the sweep satisfy `first(n)` without the later ones ever being
38
+ asked. Within one adapter, though, laziness cannot skip non-matching sessions
39
+ — sessions_for_project must still stat and check each candidate to know it
40
+ does not match, so an adapter with zero matches costs a full scan of its store
41
+ before the sweep moves on. True of the six Base-driven adapters; opencode
42
+ pushes the filter into SQL (WHERE directory = ?) and stats nothing.
43
+
44
+ Deliberately does NOT rescue MissingDependency or UnreadableStore: opencode
45
+ without the sqlite3 gem, or with a corrupt/locked database, raises. Since
46
+ `flat_map` is lazy, that raise surfaces only once enumeration reaches the
47
+ failing adapter — possibly after other agents' sessions have already been
48
+ yielded to the caller mid-iteration, and possibly not at all if `first(n)` is
49
+ satisfied first. Silently omitting an agent's sessions is this gem's worst
50
+ failure mode (design doc decision 11), so this method never trades a raised,
51
+ attributable error for a quietly incomplete list. A caller that wants the
52
+ sweep to survive one bad agent should rescue per call, e.g. by driving
53
+ <code>agents:</code> itself and catching around each adapter; a caller who
54
+ just wants to route around a known-bad agent can pass <code>agents:</code>
55
+ naming every registered agent except it. The CLI (Task 10) does the former,
56
+ turning the same exceptions into per-agent "skipped" lines instead of one
57
+ failed sweep. Note a rescue cannot resume this enumerator: re-calling each
58
+ after a raise re-raises from the same adapter. The only recovery is a fresh
59
+ call with a narrower <code>agents:</code>. Adapters are resolved eagerly, so
60
+ an unknown name in <code>agents:</code> raises here rather than mid-sweep. The
61
+ deferral above is about DATA conditions, where the raise carries information
62
+ about a store; a typo'd agent symbol is a programmer error knowable before any
63
+ I/O, and `agents: [:claude, :nope]` otherwise hands back Claude's sessions and
64
+ then crashes. Base#initialize only stores @env, so constructing all seven up
65
+ front costs nothing, and the sweep stays lazy — first(n) still stops at the
66
+ first matching adapter.
67
+
68
+ ### `installed(env: ENV)` <a id="method-c-installed"></a> <a id="installed-class_method"></a>
69
+ Not documented.
70
+
71
+ ### `locate(agent, env: ENV)` <a id="method-c-locate"></a> <a id="locate-class_method"></a>
72
+ Not documented.
73
+
74
+ ### `projects(agent, env: ENV)` <a id="method-c-projects"></a> <a id="projects-class_method"></a>
75
+ Eager, unlike sessions/for_project: project_paths already reads every session
76
+ to answer (design doc section 7 — the on-disk encodings are lossy, so the
77
+ recorded cwd is the only reliable source), sorts, and dedupes, so a lazy
78
+ return type here would promise a laziness the work underneath cannot honor.
79
+ Returns a plain, already-sorted Array. Raises MissingDependency or
80
+ UnreadableStore for opencode, as sessions does.
81
+
82
+ ### `read(session, **options)` <a id="method-c-read"></a> <a id="read-class_method"></a>
83
+ Layer 3. Takes a Session (from `sessions`, `for_project`), not an agent name,
84
+ because reading is per-session — the adapter comes from the session itself.
85
+ Raises UnsupportedFormat for an agent with no reader yet, rather than
86
+ returning a reader that yields nothing: "this gem cannot read that format" and
87
+ "that session has no messages" must never look alike.
88
+
89
+ include_events: true adds the agent's UI-level records to the stream where an
90
+ adapter has them. They are excluded by default because they are bookkeeping,
91
+ not conversation, and they outnumber real messages.
92
+
93
+ ### `register(adapter_class)` <a id="method-c-register"></a> <a id="register-class_method"></a>
94
+ Re-registering a name deliberately replaces it, so a consumer can ship a
95
+ corrected adapter for an agent whose layout moved before the gem catches up.
96
+ - **@raise** [Error]
97
+
98
+ ### `registry()` <a id="method-c-registry"></a> <a id="registry-class_method"></a>
99
+ Not documented.
100
+
101
+ ### `sessions(agent, env: ENV, since: nil)` <a id="method-c-sessions"></a> <a id="sessions-class_method"></a>
102
+ Lazy: consuming N sessions stats N files, never more. `since`, when given,
103
+ must be a Time (or anything Time#>= accepts) — comparing updated_at (always a
104
+ Time; every adapter populates it, from mtime or store metadata) against a
105
+ Date, Integer, or String raises ArgumentError("comparison of Time with ...
106
+ failed"), which already names the mistake, so no extra guard is added here.
107
+ That raise happens on enumeration, not on this call, because the filter itself
108
+ is lazy — `sessions(:x, since: bad).first(1)` can raise from inside `first`,
109
+ not from this line. Raises MissingDependency or UnreadableStore for opencode
110
+ under the same conditions described on for_project below.
111
+
112
+ ### `unresolved_project_count(agent, env: ENV)` <a id="method-c-unresolved_project_count"></a> <a id="unresolved_project_count-class_method"></a>
113
+ Companion to `projects`/`project_paths`, which both exclude a session whose
114
+ project could not be resolved rather than counting it (design doc section 7) —
115
+ so "this agent genuinely records no projects" and "this agent's project
116
+ resolution is broken" read identically from the outside. Three of seven
117
+ adapters can legitimately return a nil project_path (Amp threads with no
118
+ `trees`, cursor_ide by design, pi whenever its unverified header assumption is
119
+ wrong); this counts it for any of them, uniformly, using only the public
120
+ `sessions` enumerator —no adapter needs to know this exists. Eager and a
121
+ second full sweep of the store, same cost class as `projects` itself, so it is
122
+ opt-in (called by the CLI only under `list --project`, never under plain
123
+ `list`) rather than folded into `projects`' own return value, which is a
124
+ documented, tested plain Array and would otherwise need a shape change to
125
+ carry both numbers. Raises MissingDependency or UnreadableStore for opencode,
126
+ as sessions does.
127
+
128
+ ### `verify(agent = nil, env: ENV)` <a id="method-c-verify"></a> <a id="verify-class_method"></a>
129
+ Not documented.
130
+
131
+ # Documentation
132
+
133
+ - [doc/Agent/Sessions/Adapters.md](doc/Agent/Sessions/Adapters.md)
134
+ - [doc/Agent/Sessions/Adapters/Amp.md](doc/Agent/Sessions/Adapters/Amp.md)
135
+ - [doc/Agent/Sessions/Adapters/Base.md](doc/Agent/Sessions/Adapters/Base.md)
136
+ - [doc/Agent/Sessions/Adapters/Claude.md](doc/Agent/Sessions/Adapters/Claude.md)
137
+ - [doc/Agent/Sessions/Adapters/Codex.md](doc/Agent/Sessions/Adapters/Codex.md)
138
+ - [doc/Agent/Sessions/Adapters/Copilot.md](doc/Agent/Sessions/Adapters/Copilot.md)
139
+ - [doc/Agent/Sessions/Adapters/Cursor.md](doc/Agent/Sessions/Adapters/Cursor.md)
140
+ - [doc/Agent/Sessions/Adapters/CursorIde.md](doc/Agent/Sessions/Adapters/CursorIde.md)
141
+ - [doc/Agent/Sessions/Adapters/Enumeration.md](doc/Agent/Sessions/Adapters/Enumeration.md)
142
+ - [doc/Agent/Sessions/Adapters/Gemini.md](doc/Agent/Sessions/Adapters/Gemini.md)
143
+ - [doc/Agent/Sessions/Adapters/Grok.md](doc/Agent/Sessions/Adapters/Grok.md)
144
+ - [doc/Agent/Sessions/Adapters/Opencode.md](doc/Agent/Sessions/Adapters/Opencode.md)
145
+ - [doc/Agent/Sessions/Adapters/Pi.md](doc/Agent/Sessions/Adapters/Pi.md)
146
+ - [doc/Agent/Sessions/Adapters/Qwen.md](doc/Agent/Sessions/Adapters/Qwen.md)
147
+ - [doc/Agent/Sessions/Audit.md](doc/Agent/Sessions/Audit.md)
148
+ - [doc/Agent/Sessions/Audit/Finding.md](doc/Agent/Sessions/Audit/Finding.md)
149
+ - [doc/Agent/Sessions/CLI.md](doc/Agent/Sessions/CLI.md)
150
+ - [doc/Agent/Sessions/Check.md](doc/Agent/Sessions/Check.md)
151
+ - [doc/Agent/Sessions/Compaction.md](doc/Agent/Sessions/Compaction.md)
152
+ - [doc/Agent/Sessions/EnvOverride.md](doc/Agent/Sessions/EnvOverride.md)
153
+ - [doc/Agent/Sessions/Error.md](doc/Agent/Sessions/Error.md)
154
+ - [doc/Agent/Sessions/HomeExpansion.md](doc/Agent/Sessions/HomeExpansion.md)
155
+ - [doc/Agent/Sessions/Location.md](doc/Agent/Sessions/Location.md)
156
+ - [doc/Agent/Sessions/Message.md](doc/Agent/Sessions/Message.md)
157
+ - [doc/Agent/Sessions/MissingDependency.md](doc/Agent/Sessions/MissingDependency.md)
158
+ - [doc/Agent/Sessions/Node.md](doc/Agent/Sessions/Node.md)
159
+ - [doc/Agent/Sessions/Part.md](doc/Agent/Sessions/Part.md)
160
+ - [doc/Agent/Sessions/Readers.md](doc/Agent/Sessions/Readers.md)
161
+ - [doc/Agent/Sessions/Readers/Amp.md](doc/Agent/Sessions/Readers/Amp.md)
162
+ - [doc/Agent/Sessions/Readers/Base.md](doc/Agent/Sessions/Readers/Base.md)
163
+ - [doc/Agent/Sessions/Readers/Claude.md](doc/Agent/Sessions/Readers/Claude.md)
164
+ - [doc/Agent/Sessions/Readers/Codex.md](doc/Agent/Sessions/Readers/Codex.md)
165
+ - [doc/Agent/Sessions/Readers/Copilot.md](doc/Agent/Sessions/Readers/Copilot.md)
166
+ - [doc/Agent/Sessions/Readers/Gemini.md](doc/Agent/Sessions/Readers/Gemini.md)
167
+ - [doc/Agent/Sessions/Readers/Grok.md](doc/Agent/Sessions/Readers/Grok.md)
168
+ - [doc/Agent/Sessions/Readers/Opencode.md](doc/Agent/Sessions/Readers/Opencode.md)
169
+ - [doc/Agent/Sessions/Readers/Pi.md](doc/Agent/Sessions/Readers/Pi.md)
170
+ - [doc/Agent/Sessions/Readers/Qwen.md](doc/Agent/Sessions/Readers/Qwen.md)
171
+ - [doc/Agent/Sessions/Session.md](doc/Agent/Sessions/Session.md)
172
+ - [doc/Agent/Sessions/Sqlite.md](doc/Agent/Sessions/Sqlite.md)
173
+ - [doc/Agent/Sessions/Store.md](doc/Agent/Sessions/Store.md)
174
+ - [doc/Agent/Sessions/UnknownAgent.md](doc/Agent/Sessions/UnknownAgent.md)
175
+ - [doc/Agent/Sessions/UnreadableStore.md](doc/Agent/Sessions/UnreadableStore.md)
176
+ - [doc/Agent/Sessions/UnsupportedFormat.md](doc/Agent/Sessions/UnsupportedFormat.md)
177
+ - [doc/Agent/Sessions/Usage.md](doc/Agent/Sessions/Usage.md)