oh-my-codex 0.4.3 → 0.5.0

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 (159) hide show
  1. package/README.md +17 -10
  2. package/dist/agents/definitions.d.ts.map +1 -1
  3. package/dist/agents/definitions.js +7 -13
  4. package/dist/agents/definitions.js.map +1 -1
  5. package/dist/agents/native-config.d.ts +20 -0
  6. package/dist/agents/native-config.d.ts.map +1 -0
  7. package/dist/agents/native-config.js +84 -0
  8. package/dist/agents/native-config.js.map +1 -0
  9. package/dist/catalog/__tests__/generator.test.d.ts +2 -0
  10. package/dist/catalog/__tests__/generator.test.d.ts.map +1 -0
  11. package/dist/catalog/__tests__/generator.test.js +42 -0
  12. package/dist/catalog/__tests__/generator.test.js.map +1 -0
  13. package/dist/catalog/__tests__/schema.test.d.ts +2 -0
  14. package/dist/catalog/__tests__/schema.test.d.ts.map +1 -0
  15. package/dist/catalog/__tests__/schema.test.js +33 -0
  16. package/dist/catalog/__tests__/schema.test.js.map +1 -0
  17. package/dist/catalog/reader.d.ts +19 -0
  18. package/dist/catalog/reader.d.ts.map +1 -0
  19. package/dist/catalog/reader.js +63 -0
  20. package/dist/catalog/reader.js.map +1 -0
  21. package/dist/catalog/schema.d.ts +32 -0
  22. package/dist/catalog/schema.d.ts.map +1 -0
  23. package/dist/catalog/schema.js +101 -0
  24. package/dist/catalog/schema.js.map +1 -0
  25. package/dist/cli/__tests__/index.test.js +109 -1
  26. package/dist/cli/__tests__/index.test.js.map +1 -1
  27. package/dist/cli/__tests__/setup-scope.test.d.ts +2 -0
  28. package/dist/cli/__tests__/setup-scope.test.d.ts.map +1 -0
  29. package/dist/cli/__tests__/setup-scope.test.js +164 -0
  30. package/dist/cli/__tests__/setup-scope.test.js.map +1 -0
  31. package/dist/cli/catalog-contract.d.ts +10 -0
  32. package/dist/cli/catalog-contract.d.ts.map +1 -0
  33. package/dist/cli/catalog-contract.js +24 -0
  34. package/dist/cli/catalog-contract.js.map +1 -0
  35. package/dist/cli/doctor.d.ts.map +1 -1
  36. package/dist/cli/doctor.js +7 -4
  37. package/dist/cli/doctor.js.map +1 -1
  38. package/dist/cli/index.d.ts +10 -0
  39. package/dist/cli/index.d.ts.map +1 -1
  40. package/dist/cli/index.js +124 -99
  41. package/dist/cli/index.js.map +1 -1
  42. package/dist/cli/setup.d.ts +3 -0
  43. package/dist/cli/setup.d.ts.map +1 -1
  44. package/dist/cli/setup.js +208 -47
  45. package/dist/cli/setup.js.map +1 -1
  46. package/dist/config/__tests__/generator-notify.test.js +28 -0
  47. package/dist/config/__tests__/generator-notify.test.js.map +1 -1
  48. package/dist/config/generator.d.ts +1 -0
  49. package/dist/config/generator.d.ts.map +1 -1
  50. package/dist/config/generator.js +34 -2
  51. package/dist/config/generator.js.map +1 -1
  52. package/dist/hooks/code-simplifier/__tests__/index.test.d.ts +2 -0
  53. package/dist/hooks/code-simplifier/__tests__/index.test.d.ts.map +1 -0
  54. package/dist/hooks/code-simplifier/__tests__/index.test.js +135 -0
  55. package/dist/hooks/code-simplifier/__tests__/index.test.js.map +1 -0
  56. package/dist/hooks/code-simplifier/index.d.ts +74 -0
  57. package/dist/hooks/code-simplifier/index.d.ts.map +1 -0
  58. package/dist/hooks/code-simplifier/index.js +145 -0
  59. package/dist/hooks/code-simplifier/index.js.map +1 -0
  60. package/dist/hooks/emulator.d.ts.map +1 -1
  61. package/dist/hooks/emulator.js +0 -1
  62. package/dist/hooks/emulator.js.map +1 -1
  63. package/dist/hooks/keyword-detector.d.ts.map +1 -1
  64. package/dist/hooks/keyword-detector.js +0 -3
  65. package/dist/hooks/keyword-detector.js.map +1 -1
  66. package/dist/index.d.ts +1 -0
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +1 -0
  69. package/dist/index.js.map +1 -1
  70. package/dist/notifications/__tests__/tmux.test.js +61 -1
  71. package/dist/notifications/__tests__/tmux.test.js.map +1 -1
  72. package/dist/notifications/__tests__/verbosity.test.d.ts +2 -0
  73. package/dist/notifications/__tests__/verbosity.test.d.ts.map +1 -0
  74. package/dist/notifications/__tests__/verbosity.test.js +202 -0
  75. package/dist/notifications/__tests__/verbosity.test.js.map +1 -0
  76. package/dist/notifications/config.d.ts +14 -1
  77. package/dist/notifications/config.d.ts.map +1 -1
  78. package/dist/notifications/config.js +52 -0
  79. package/dist/notifications/config.js.map +1 -1
  80. package/dist/notifications/formatter.d.ts.map +1 -1
  81. package/dist/notifications/formatter.js +14 -0
  82. package/dist/notifications/formatter.js.map +1 -1
  83. package/dist/notifications/index.d.ts +3 -3
  84. package/dist/notifications/index.d.ts.map +1 -1
  85. package/dist/notifications/index.js +14 -4
  86. package/dist/notifications/index.js.map +1 -1
  87. package/dist/notifications/tmux.d.ts +6 -0
  88. package/dist/notifications/tmux.d.ts.map +1 -1
  89. package/dist/notifications/tmux.js +31 -1
  90. package/dist/notifications/tmux.js.map +1 -1
  91. package/dist/notifications/types.d.ts +13 -0
  92. package/dist/notifications/types.d.ts.map +1 -1
  93. package/dist/team/__tests__/model-contract.test.d.ts +2 -0
  94. package/dist/team/__tests__/model-contract.test.d.ts.map +1 -0
  95. package/dist/team/__tests__/model-contract.test.js +47 -0
  96. package/dist/team/__tests__/model-contract.test.js.map +1 -0
  97. package/dist/team/__tests__/phase-controller.test.d.ts +2 -0
  98. package/dist/team/__tests__/phase-controller.test.d.ts.map +1 -0
  99. package/dist/team/__tests__/phase-controller.test.js +36 -0
  100. package/dist/team/__tests__/phase-controller.test.js.map +1 -0
  101. package/dist/team/__tests__/runtime.test.js +112 -8
  102. package/dist/team/__tests__/runtime.test.js.map +1 -1
  103. package/dist/team/__tests__/tmux-session.test.js +71 -1
  104. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  105. package/dist/team/model-contract.d.ts +19 -0
  106. package/dist/team/model-contract.d.ts.map +1 -0
  107. package/dist/team/model-contract.js +123 -0
  108. package/dist/team/model-contract.js.map +1 -0
  109. package/dist/team/orchestrator.d.ts.map +1 -1
  110. package/dist/team/orchestrator.js +0 -1
  111. package/dist/team/orchestrator.js.map +1 -1
  112. package/dist/team/phase-controller.d.ts +10 -0
  113. package/dist/team/phase-controller.d.ts.map +1 -0
  114. package/dist/team/phase-controller.js +128 -0
  115. package/dist/team/phase-controller.js.map +1 -0
  116. package/dist/team/runtime.d.ts +3 -3
  117. package/dist/team/runtime.d.ts.map +1 -1
  118. package/dist/team/runtime.js +40 -74
  119. package/dist/team/runtime.js.map +1 -1
  120. package/dist/team/state.d.ts +15 -0
  121. package/dist/team/state.d.ts.map +1 -1
  122. package/dist/team/state.js +35 -0
  123. package/dist/team/state.js.map +1 -1
  124. package/dist/team/team-ops.d.ts +3 -1
  125. package/dist/team/team-ops.d.ts.map +1 -1
  126. package/dist/team/team-ops.js +2 -0
  127. package/dist/team/team-ops.js.map +1 -1
  128. package/dist/team/tmux-session.d.ts +12 -0
  129. package/dist/team/tmux-session.d.ts.map +1 -1
  130. package/dist/team/tmux-session.js +33 -1
  131. package/dist/team/tmux-session.js.map +1 -1
  132. package/dist/utils/paths.d.ts +2 -0
  133. package/dist/utils/paths.d.ts.map +1 -1
  134. package/dist/utils/paths.js +4 -0
  135. package/dist/utils/paths.js.map +1 -1
  136. package/package.json +2 -2
  137. package/prompts/code-simplifier.md +91 -0
  138. package/prompts/product-analyst.md +7 -7
  139. package/scripts/generate-catalog-docs.js +111 -0
  140. package/scripts/notify-hook.js +36 -1
  141. package/skills/build-fix/SKILL.md +3 -3
  142. package/skills/code-review/SKILL.md +3 -3
  143. package/skills/help/SKILL.md +4 -4
  144. package/skills/omx-setup/SKILL.md +24 -15
  145. package/skills/research/SKILL.md +28 -28
  146. package/skills/security-review/SKILL.md +3 -3
  147. package/templates/AGENTS.md +1 -8
  148. package/templates/catalog-manifest.json +397 -0
  149. package/prompts/deep-executor.md +0 -19
  150. package/prompts/scientist.md +0 -89
  151. package/skills/deepinit/SKILL.md +0 -320
  152. package/skills/learn-about-omx/SKILL.md +0 -37
  153. package/skills/learner/SKILL.md +0 -135
  154. package/skills/pipeline/SKILL.md +0 -407
  155. package/skills/project-session-manager/SKILL.md +0 -560
  156. package/skills/psm/SKILL.md +0 -20
  157. package/skills/release/SKILL.md +0 -83
  158. package/skills/ultrapilot/SKILL.md +0 -627
  159. package/skills/writer-memory/SKILL.md +0 -443
@@ -0,0 +1,202 @@
1
+ import { describe, it, afterEach } from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { getVerbosity, isEventAllowedByVerbosity, shouldIncludeTmuxTail, isEventEnabled, } from '../config.js';
4
+ import { formatSessionEnd, formatSessionIdle, formatSessionStop } from '../formatter.js';
5
+ // ---------------------------------------------------------------------------
6
+ // Helpers
7
+ // ---------------------------------------------------------------------------
8
+ function makeConfig(overrides = {}) {
9
+ return {
10
+ enabled: true,
11
+ discord: { enabled: true, webhookUrl: 'https://discord.com/api/webhooks/test' },
12
+ ...overrides,
13
+ };
14
+ }
15
+ const basePayload = {
16
+ event: 'session-end',
17
+ sessionId: 'test-session-1',
18
+ message: '',
19
+ timestamp: '2026-02-19T12:00:00.000Z',
20
+ projectPath: '/home/user/my-project',
21
+ projectName: 'my-project',
22
+ };
23
+ // ---------------------------------------------------------------------------
24
+ // getVerbosity
25
+ // ---------------------------------------------------------------------------
26
+ describe('getVerbosity', () => {
27
+ const origEnv = process.env.OMX_NOTIFY_VERBOSITY;
28
+ afterEach(() => {
29
+ if (origEnv === undefined) {
30
+ delete process.env.OMX_NOTIFY_VERBOSITY;
31
+ }
32
+ else {
33
+ process.env.OMX_NOTIFY_VERBOSITY = origEnv;
34
+ }
35
+ });
36
+ it('defaults to "session" when no config or env var', () => {
37
+ delete process.env.OMX_NOTIFY_VERBOSITY;
38
+ assert.equal(getVerbosity(makeConfig()), 'session');
39
+ });
40
+ it('reads verbosity from config', () => {
41
+ delete process.env.OMX_NOTIFY_VERBOSITY;
42
+ assert.equal(getVerbosity(makeConfig({ verbosity: 'minimal' })), 'minimal');
43
+ });
44
+ it('env var overrides config', () => {
45
+ process.env.OMX_NOTIFY_VERBOSITY = 'verbose';
46
+ assert.equal(getVerbosity(makeConfig({ verbosity: 'minimal' })), 'verbose');
47
+ });
48
+ it('ignores invalid env var and falls back to config', () => {
49
+ process.env.OMX_NOTIFY_VERBOSITY = 'invalid';
50
+ assert.equal(getVerbosity(makeConfig({ verbosity: 'agent' })), 'agent');
51
+ });
52
+ it('ignores invalid config value and falls back to default', () => {
53
+ delete process.env.OMX_NOTIFY_VERBOSITY;
54
+ assert.equal(getVerbosity(makeConfig({ verbosity: 'bogus' })), 'session');
55
+ });
56
+ it('handles null config gracefully', () => {
57
+ delete process.env.OMX_NOTIFY_VERBOSITY;
58
+ assert.equal(getVerbosity(null), 'session');
59
+ });
60
+ });
61
+ // ---------------------------------------------------------------------------
62
+ // isEventAllowedByVerbosity
63
+ // ---------------------------------------------------------------------------
64
+ describe('isEventAllowedByVerbosity', () => {
65
+ // Minimal: start, stop, end only
66
+ it('minimal allows session-start', () => {
67
+ assert.equal(isEventAllowedByVerbosity('minimal', 'session-start'), true);
68
+ });
69
+ it('minimal allows session-stop', () => {
70
+ assert.equal(isEventAllowedByVerbosity('minimal', 'session-stop'), true);
71
+ });
72
+ it('minimal allows session-end', () => {
73
+ assert.equal(isEventAllowedByVerbosity('minimal', 'session-end'), true);
74
+ });
75
+ it('minimal rejects session-idle', () => {
76
+ assert.equal(isEventAllowedByVerbosity('minimal', 'session-idle'), false);
77
+ });
78
+ it('minimal rejects ask-user-question', () => {
79
+ assert.equal(isEventAllowedByVerbosity('minimal', 'ask-user-question'), false);
80
+ });
81
+ // Session: includes idle
82
+ it('session allows session-idle', () => {
83
+ assert.equal(isEventAllowedByVerbosity('session', 'session-idle'), true);
84
+ });
85
+ it('session rejects ask-user-question', () => {
86
+ assert.equal(isEventAllowedByVerbosity('session', 'ask-user-question'), false);
87
+ });
88
+ // Agent: includes ask-user-question
89
+ it('agent allows ask-user-question', () => {
90
+ assert.equal(isEventAllowedByVerbosity('agent', 'ask-user-question'), true);
91
+ });
92
+ it('agent allows session-idle', () => {
93
+ assert.equal(isEventAllowedByVerbosity('agent', 'session-idle'), true);
94
+ });
95
+ // Verbose: allows everything
96
+ it('verbose allows all events', () => {
97
+ assert.equal(isEventAllowedByVerbosity('verbose', 'session-start'), true);
98
+ assert.equal(isEventAllowedByVerbosity('verbose', 'session-stop'), true);
99
+ assert.equal(isEventAllowedByVerbosity('verbose', 'session-end'), true);
100
+ assert.equal(isEventAllowedByVerbosity('verbose', 'session-idle'), true);
101
+ assert.equal(isEventAllowedByVerbosity('verbose', 'ask-user-question'), true);
102
+ });
103
+ });
104
+ // ---------------------------------------------------------------------------
105
+ // shouldIncludeTmuxTail
106
+ // ---------------------------------------------------------------------------
107
+ describe('shouldIncludeTmuxTail', () => {
108
+ it('returns false for minimal', () => {
109
+ assert.equal(shouldIncludeTmuxTail('minimal'), false);
110
+ });
111
+ it('returns true for session', () => {
112
+ assert.equal(shouldIncludeTmuxTail('session'), true);
113
+ });
114
+ it('returns true for agent', () => {
115
+ assert.equal(shouldIncludeTmuxTail('agent'), true);
116
+ });
117
+ it('returns true for verbose', () => {
118
+ assert.equal(shouldIncludeTmuxTail('verbose'), true);
119
+ });
120
+ });
121
+ // ---------------------------------------------------------------------------
122
+ // isEventEnabled with verbosity
123
+ // ---------------------------------------------------------------------------
124
+ describe('isEventEnabled with verbosity', () => {
125
+ const origEnv = process.env.OMX_NOTIFY_VERBOSITY;
126
+ afterEach(() => {
127
+ if (origEnv === undefined) {
128
+ delete process.env.OMX_NOTIFY_VERBOSITY;
129
+ }
130
+ else {
131
+ process.env.OMX_NOTIFY_VERBOSITY = origEnv;
132
+ }
133
+ });
134
+ it('minimal config blocks session-idle', () => {
135
+ delete process.env.OMX_NOTIFY_VERBOSITY;
136
+ const config = makeConfig({ verbosity: 'minimal' });
137
+ assert.equal(isEventEnabled(config, 'session-idle'), false);
138
+ });
139
+ it('minimal config allows session-end', () => {
140
+ delete process.env.OMX_NOTIFY_VERBOSITY;
141
+ const config = makeConfig({ verbosity: 'minimal' });
142
+ assert.equal(isEventEnabled(config, 'session-end'), true);
143
+ });
144
+ it('session config allows session-idle', () => {
145
+ delete process.env.OMX_NOTIFY_VERBOSITY;
146
+ const config = makeConfig({ verbosity: 'session' });
147
+ assert.equal(isEventEnabled(config, 'session-idle'), true);
148
+ });
149
+ it('session config blocks ask-user-question', () => {
150
+ delete process.env.OMX_NOTIFY_VERBOSITY;
151
+ const config = makeConfig({ verbosity: 'session' });
152
+ assert.equal(isEventEnabled(config, 'ask-user-question'), false);
153
+ });
154
+ it('env var override takes precedence', () => {
155
+ process.env.OMX_NOTIFY_VERBOSITY = 'verbose';
156
+ const config = makeConfig({ verbosity: 'minimal' });
157
+ assert.equal(isEventEnabled(config, 'ask-user-question'), true);
158
+ });
159
+ });
160
+ // ---------------------------------------------------------------------------
161
+ // Formatter tmux tail inclusion
162
+ // ---------------------------------------------------------------------------
163
+ describe('formatter tmux tail inclusion', () => {
164
+ it('formatSessionEnd includes tmux tail when present', () => {
165
+ const msg = formatSessionEnd({
166
+ ...basePayload,
167
+ durationMs: 60000,
168
+ reason: 'session_exit',
169
+ tmuxTail: '$ npm test\nAll tests passed\n$',
170
+ });
171
+ assert.ok(msg.includes('Recent output:'));
172
+ assert.ok(msg.includes('npm test'));
173
+ assert.ok(msg.includes('All tests passed'));
174
+ });
175
+ it('formatSessionEnd omits tmux tail when absent', () => {
176
+ const msg = formatSessionEnd({
177
+ ...basePayload,
178
+ durationMs: 60000,
179
+ reason: 'session_exit',
180
+ });
181
+ assert.ok(!msg.includes('Recent output:'));
182
+ });
183
+ it('formatSessionIdle includes tmux tail when present', () => {
184
+ const msg = formatSessionIdle({
185
+ ...basePayload,
186
+ event: 'session-idle',
187
+ tmuxTail: 'waiting for input...',
188
+ });
189
+ assert.ok(msg.includes('Recent output:'));
190
+ assert.ok(msg.includes('waiting for input...'));
191
+ });
192
+ it('formatSessionStop includes tmux tail when present', () => {
193
+ const msg = formatSessionStop({
194
+ ...basePayload,
195
+ event: 'session-stop',
196
+ tmuxTail: 'iteration 3/10 complete',
197
+ });
198
+ assert.ok(msg.includes('Recent output:'));
199
+ assert.ok(msg.includes('iteration 3/10 complete'));
200
+ });
201
+ });
202
+ //# sourceMappingURL=verbosity.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verbosity.test.js","sourceRoot":"","sources":["../../../src/notifications/__tests__/verbosity.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAc,SAAS,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EACL,YAAY,EACZ,yBAAyB,EACzB,qBAAqB,EACrB,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGzF,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,UAAU,CAAC,YAA6C,EAAE;IACjE,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,uCAAuC,EAAE;QAC/E,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,MAAM,WAAW,GAA4B;IAC3C,KAAK,EAAE,aAAa;IACpB,SAAS,EAAE,gBAAgB;IAC3B,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,0BAA0B;IACrC,WAAW,EAAE,uBAAuB;IACpC,WAAW,EAAE,YAAY;CAC1B,CAAC;AAEF,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAEjD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,OAAO,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,SAAS,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,SAAS,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,OAAyB,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,iCAAiC;IACjC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,SAAS,EAAE,mBAAmB,CAAC,EAAE,KAAK,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,yBAAyB;IACzB,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,SAAS,EAAE,mBAAmB,CAAC,EAAE,KAAK,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,oCAAoC;IACpC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,OAAO,EAAE,mBAAmB,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,6BAA6B;IAC7B,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1E,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;QACzE,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;QACzE,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,SAAS,EAAE,mBAAmB,CAAC,EAAE,IAAI,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAEjD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,OAAO,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACxC,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACxC,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACxC,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACxC,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,SAAS,CAAC;QAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,GAAG,GAAG,gBAAgB,CAAC;YAC3B,GAAG,WAAW;YACd,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,iCAAiC;SAC5C,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,GAAG,GAAG,gBAAgB,CAAC;YAC3B,GAAG,WAAW;YACd,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,GAAG,GAAG,iBAAiB,CAAC;YAC5B,GAAG,WAAW;YACd,KAAK,EAAE,cAAc;YACrB,QAAQ,EAAE,sBAAsB;SACjC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,GAAG,GAAG,iBAAiB,CAAC;YAC5B,GAAG,WAAW;YACd,KAAK,EAAE,cAAc;YACrB,QAAQ,EAAE,yBAAyB;SACpC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Reads notification config from .omx-config.json and provides
5
5
  * backward compatibility with the old stopHookCallbacks format.
6
6
  */
7
- import type { FullNotificationConfig, NotificationsBlock, NotificationEvent, NotificationPlatform } from "./types.js";
7
+ import type { FullNotificationConfig, NotificationsBlock, NotificationEvent, NotificationPlatform, VerbosityLevel } from "./types.js";
8
8
  export declare function validateMention(raw: string | undefined): string | undefined;
9
9
  export declare function parseMentionAllowedMentions(mention: string | undefined): {
10
10
  users?: string[];
@@ -31,6 +31,19 @@ export declare function listProfiles(): string[];
31
31
  */
32
32
  export declare function getActiveProfileName(): string | null;
33
33
  export declare function getNotificationConfig(profileName?: string): FullNotificationConfig | null;
34
+ /**
35
+ * Resolve the effective verbosity level.
36
+ * Priority: env var > config field > default ("session").
37
+ */
38
+ export declare function getVerbosity(config: FullNotificationConfig | null): VerbosityLevel;
39
+ /**
40
+ * Check whether a given event is allowed at the specified verbosity level.
41
+ */
42
+ export declare function isEventAllowedByVerbosity(verbosity: VerbosityLevel, event: NotificationEvent): boolean;
43
+ /**
44
+ * Whether the given verbosity level should include tmux tail output.
45
+ */
46
+ export declare function shouldIncludeTmuxTail(verbosity: VerbosityLevel): boolean;
34
47
  export declare function isEventEnabled(config: FullNotificationConfig, event: NotificationEvent): boolean;
35
48
  export declare function getEnabledPlatforms(config: FullNotificationConfig, event: NotificationEvent): NotificationPlatform[];
36
49
  export declare function getReplyListenerPlatformConfig(config: FullNotificationConfig | null): {
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/notifications/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EAKrB,MAAM,YAAY,CAAC;AAuDpB,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAO3E;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B;IAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAOxC;AAED,wBAAgB,kBAAkB,IAAI,sBAAsB,GAAG,IAAI,CAyDlE;AAmDD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,kBAAkB,EACjC,WAAW,CAAC,EAAE,MAAM,GACnB,sBAAsB,GAAG,IAAI,CAwB/B;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAMvC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAWpD;AAED,wBAAgB,qBAAqB,CACnC,WAAW,CAAC,EAAE,MAAM,GACnB,sBAAsB,GAAG,IAAI,CAkD/B;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,sBAAsB,EAC9B,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAkCT;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,sBAAsB,EAC9B,KAAK,EAAE,iBAAiB,GACvB,oBAAoB,EAAE,CAwCxB;AAqCD,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,sBAAsB,GAAG,IAAI,GACpC;IACD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAwBA;AAuBD,wBAAgB,cAAc,IAAI,OAAO,YAAY,EAAE,WAAW,GAAG,IAAI,CAwCxE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/notifications/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EAKpB,cAAc,EACf,MAAM,YAAY,CAAC;AAuDpB,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAO3E;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B;IAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAOxC;AAED,wBAAgB,kBAAkB,IAAI,sBAAsB,GAAG,IAAI,CAyDlE;AAmDD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,kBAAkB,EACjC,WAAW,CAAC,EAAE,MAAM,GACnB,sBAAsB,GAAG,IAAI,CAwB/B;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAMvC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAWpD;AAED,wBAAgB,qBAAqB,CACnC,WAAW,CAAC,EAAE,MAAM,GACnB,sBAAsB,GAAG,IAAI,CAkD/B;AA0BD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,GAAG,cAAc,CASlF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,cAAc,EACzB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAGT;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAExE;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,sBAAsB,EAC9B,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAsCT;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,sBAAsB,EAC9B,KAAK,EAAE,iBAAiB,GACvB,oBAAoB,EAAE,CAwCxB;AAqCD,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,sBAAsB,GAAG,IAAI,GACpC;IACD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAwBA;AAuBD,wBAAgB,cAAc,IAAI,OAAO,YAAY,EAAE,WAAW,GAAG,IAAI,CAwCxE"}
@@ -265,9 +265,61 @@ export function getNotificationConfig(profileName) {
265
265
  }
266
266
  return null;
267
267
  }
268
+ const VALID_VERBOSITY_LEVELS = ["verbose", "agent", "session", "minimal"];
269
+ const DEFAULT_VERBOSITY = "session";
270
+ /**
271
+ * Numeric rank for verbosity levels (higher = more verbose).
272
+ */
273
+ const VERBOSITY_RANK = {
274
+ minimal: 0,
275
+ session: 1,
276
+ agent: 2,
277
+ verbose: 3,
278
+ };
279
+ /**
280
+ * Minimum verbosity level required for each event type.
281
+ */
282
+ const EVENT_MIN_VERBOSITY = {
283
+ "session-start": "minimal",
284
+ "session-stop": "minimal",
285
+ "session-end": "minimal",
286
+ "session-idle": "session",
287
+ "ask-user-question": "agent",
288
+ };
289
+ /**
290
+ * Resolve the effective verbosity level.
291
+ * Priority: env var > config field > default ("session").
292
+ */
293
+ export function getVerbosity(config) {
294
+ const envVal = process.env.OMX_NOTIFY_VERBOSITY;
295
+ if (envVal && VALID_VERBOSITY_LEVELS.includes(envVal)) {
296
+ return envVal;
297
+ }
298
+ if (config?.verbosity && VALID_VERBOSITY_LEVELS.includes(config.verbosity)) {
299
+ return config.verbosity;
300
+ }
301
+ return DEFAULT_VERBOSITY;
302
+ }
303
+ /**
304
+ * Check whether a given event is allowed at the specified verbosity level.
305
+ */
306
+ export function isEventAllowedByVerbosity(verbosity, event) {
307
+ const required = EVENT_MIN_VERBOSITY[event] ?? "session";
308
+ return VERBOSITY_RANK[verbosity] >= VERBOSITY_RANK[required];
309
+ }
310
+ /**
311
+ * Whether the given verbosity level should include tmux tail output.
312
+ */
313
+ export function shouldIncludeTmuxTail(verbosity) {
314
+ return VERBOSITY_RANK[verbosity] >= VERBOSITY_RANK["session"];
315
+ }
268
316
  export function isEventEnabled(config, event) {
269
317
  if (!config.enabled)
270
318
  return false;
319
+ // Verbosity gate: reject events below the configured verbosity level
320
+ const verbosity = getVerbosity(config);
321
+ if (!isEventAllowedByVerbosity(verbosity, event))
322
+ return false;
271
323
  const eventConfig = config.events?.[event];
272
324
  if (eventConfig && eventConfig.enabled === false)
273
325
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/notifications/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/notifications/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/notifications/formatter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AA4C1D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAiB3E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAmB1E;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CA6BzE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAkB1E;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAa9E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAe3E"}
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/notifications/formatter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAiD1D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAiB3E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAsB1E;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAgCzE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAqB1E;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAa9E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAe3E"}
@@ -26,6 +26,11 @@ function projectDisplay(payload) {
26
26
  return basename(payload.projectPath);
27
27
  return "unknown";
28
28
  }
29
+ function buildTmuxTailBlock(payload) {
30
+ if (!payload.tmuxTail)
31
+ return "";
32
+ return `\n**Recent output:**\n\`\`\`\n${payload.tmuxTail}\n\`\`\``;
33
+ }
29
34
  function buildFooter(payload, markdown) {
30
35
  const parts = [];
31
36
  if (payload.tmuxSession) {
@@ -64,6 +69,9 @@ export function formatSessionStop(payload) {
64
69
  if (payload.incompleteTasks != null && payload.incompleteTasks > 0) {
65
70
  lines.push(`**Incomplete tasks:** ${payload.incompleteTasks}`);
66
71
  }
72
+ const tail = buildTmuxTailBlock(payload);
73
+ if (tail)
74
+ lines.push(tail);
67
75
  lines.push("");
68
76
  lines.push(buildFooter(payload, true));
69
77
  return lines.join("\n");
@@ -86,6 +94,9 @@ export function formatSessionEnd(payload) {
86
94
  if (payload.contextSummary) {
87
95
  lines.push("", `**Summary:** ${payload.contextSummary}`);
88
96
  }
97
+ const tail = buildTmuxTailBlock(payload);
98
+ if (tail)
99
+ lines.push(tail);
89
100
  lines.push("");
90
101
  lines.push(buildFooter(payload, true));
91
102
  return lines.join("\n");
@@ -100,6 +111,9 @@ export function formatSessionIdle(payload) {
100
111
  if (payload.modesUsed && payload.modesUsed.length > 0) {
101
112
  lines.push(`**Modes:** ${payload.modesUsed.join(", ")}`);
102
113
  }
114
+ const tail = buildTmuxTailBlock(payload);
115
+ if (tail)
116
+ lines.push(tail);
103
117
  lines.push("");
104
118
  lines.push(buildFooter(payload, true));
105
119
  return lines.join("\n");
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/notifications/formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/notifications/formatter.ts"],"names":[],"mappings":"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"}
@@ -9,11 +9,11 @@
9
9
  * import { notifyLifecycle } from '../notifications/index.js';
10
10
  * await notifyLifecycle('session-start', { sessionId, projectPath, ... });
11
11
  */
12
- export type { NotificationEvent, NotificationPlatform, FullNotificationConfig, FullNotificationPayload, NotificationResult, DispatchResult, DiscordNotificationConfig, DiscordBotNotificationConfig, TelegramNotificationConfig, SlackNotificationConfig, WebhookNotificationConfig, EventNotificationConfig, ReplyConfig, NotificationProfilesConfig, NotificationsBlock, } from "./types.js";
12
+ export type { NotificationEvent, NotificationPlatform, FullNotificationConfig, FullNotificationPayload, NotificationResult, DispatchResult, DiscordNotificationConfig, DiscordBotNotificationConfig, TelegramNotificationConfig, SlackNotificationConfig, WebhookNotificationConfig, EventNotificationConfig, ReplyConfig, NotificationProfilesConfig, NotificationsBlock, VerbosityLevel, } from "./types.js";
13
13
  export { dispatchNotifications, sendDiscord, sendDiscordBot, sendTelegram, sendSlack, sendWebhook, } from "./dispatcher.js";
14
14
  export { formatNotification, formatSessionStart, formatSessionStop, formatSessionEnd, formatSessionIdle, formatAskUserQuestion, } from "./formatter.js";
15
- export { getCurrentTmuxSession, getCurrentTmuxPaneId, getTeamTmuxSessions, formatTmuxInfo, } from "./tmux.js";
16
- export { getNotificationConfig, isEventEnabled, getEnabledPlatforms, getReplyConfig, getReplyListenerPlatformConfig, resolveProfileConfig, listProfiles, getActiveProfileName, } from "./config.js";
15
+ export { getCurrentTmuxSession, getCurrentTmuxPaneId, getTeamTmuxSessions, formatTmuxInfo, captureTmuxPane, } from "./tmux.js";
16
+ export { getNotificationConfig, isEventEnabled, getEnabledPlatforms, getReplyConfig, getReplyListenerPlatformConfig, resolveProfileConfig, listProfiles, getActiveProfileName, getVerbosity, isEventAllowedByVerbosity, shouldIncludeTmuxTail, } from "./config.js";
17
17
  export { registerMessage, loadAllMappings, lookupByMessageId, removeSession, removeMessagesByPane, pruneStale, } from "./session-registry.js";
18
18
  export type { SessionMapping } from "./session-registry.js";
19
19
  export { startReplyListener, stopReplyListener, getReplyListenerStatus, isDaemonRunning, sanitizeReplyInput, } from "./reply-listener.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,yBAAyB,EACzB,4BAA4B,EAC5B,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,WAAW,EACX,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,cAAc,EACd,YAAY,EACZ,SAAS,EACT,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,8BAA8B,EAC9B,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC/D,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAE7E,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACf,MAAM,YAAY,CAAC;AAOpB;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,iBAAiB,EACxB,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EAC9D,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAuEhC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,yBAAyB,EACzB,4BAA4B,EAC5B,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,WAAW,EACX,0BAA0B,EAC1B,kBAAkB,EAClB,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,cAAc,EACd,YAAY,EACZ,SAAS,EACT,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,eAAe,GAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,8BAA8B,EAC9B,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC/D,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAE7E,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACf,MAAM,YAAY,CAAC;AAOpB;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,iBAAiB,EACxB,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EAC9D,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAmFhC"}
@@ -11,16 +11,16 @@
11
11
  */
12
12
  export { dispatchNotifications, sendDiscord, sendDiscordBot, sendTelegram, sendSlack, sendWebhook, } from "./dispatcher.js";
13
13
  export { formatNotification, formatSessionStart, formatSessionStop, formatSessionEnd, formatSessionIdle, formatAskUserQuestion, } from "./formatter.js";
14
- export { getCurrentTmuxSession, getCurrentTmuxPaneId, getTeamTmuxSessions, formatTmuxInfo, } from "./tmux.js";
15
- export { getNotificationConfig, isEventEnabled, getEnabledPlatforms, getReplyConfig, getReplyListenerPlatformConfig, resolveProfileConfig, listProfiles, getActiveProfileName, } from "./config.js";
14
+ export { getCurrentTmuxSession, getCurrentTmuxPaneId, getTeamTmuxSessions, formatTmuxInfo, captureTmuxPane, } from "./tmux.js";
15
+ export { getNotificationConfig, isEventEnabled, getEnabledPlatforms, getReplyConfig, getReplyListenerPlatformConfig, resolveProfileConfig, listProfiles, getActiveProfileName, getVerbosity, isEventAllowedByVerbosity, shouldIncludeTmuxTail, } from "./config.js";
16
16
  export { registerMessage, loadAllMappings, lookupByMessageId, removeSession, removeMessagesByPane, pruneStale, } from "./session-registry.js";
17
17
  export { startReplyListener, stopReplyListener, getReplyListenerStatus, isDaemonRunning, sanitizeReplyInput, } from "./reply-listener.js";
18
18
  // Re-export the legacy notifier for backward compatibility
19
19
  export { notify, loadNotificationConfig } from "./notifier.js";
20
- import { getNotificationConfig, isEventEnabled } from "./config.js";
20
+ import { getNotificationConfig, isEventEnabled, getVerbosity, shouldIncludeTmuxTail } from "./config.js";
21
21
  import { formatNotification } from "./formatter.js";
22
22
  import { dispatchNotifications } from "./dispatcher.js";
23
- import { getCurrentTmuxSession } from "./tmux.js";
23
+ import { getCurrentTmuxSession, captureTmuxPane } from "./tmux.js";
24
24
  import { basename } from "path";
25
25
  /**
26
26
  * High-level notification function for lifecycle events.
@@ -57,6 +57,16 @@ export async function notifyLifecycle(event, data, profileName) {
57
57
  question: data.question,
58
58
  incompleteTasks: data.incompleteTasks,
59
59
  };
60
+ // Capture tmux tail for session+ verbosity on idle/stop/end events
61
+ const verbosity = getVerbosity(config);
62
+ if (shouldIncludeTmuxTail(verbosity) &&
63
+ !data.tmuxTail &&
64
+ (event === "session-idle" || event === "session-stop" || event === "session-end")) {
65
+ payload.tmuxTail = captureTmuxPane(payload.tmuxPaneId) ?? undefined;
66
+ }
67
+ else {
68
+ payload.tmuxTail = data.tmuxTail;
69
+ }
60
70
  payload.message = data.message || formatNotification(payload);
61
71
  const result = await dispatchNotifications(config, event, payload);
62
72
  if (result.anySuccess && payload.tmuxPaneId) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,12 @@ export declare function getCurrentTmuxSession(): string | null;
14
14
  * List active omx-team tmux sessions for a given team.
15
15
  */
16
16
  export declare function getTeamTmuxSessions(teamName: string): string[];
17
+ /**
18
+ * Capture the last N lines of output from a tmux pane.
19
+ * Used to include a tail snippet in session-level notifications.
20
+ * Returns null if capture fails or tmux is not available.
21
+ */
22
+ export declare function captureTmuxPane(paneId?: string | null, lines?: number): string | null;
17
23
  /**
18
24
  * Format tmux session info for human-readable display.
19
25
  * Returns null if not in tmux.
@@ -1 +1 @@
1
- {"version":3,"file":"tmux.d.ts","sourceRoot":"","sources":["../../src/notifications/tmux.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAoBrD;AA+DD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAmB9D;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAI9C;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAuBpD"}
1
+ {"version":3,"file":"tmux.d.ts","sourceRoot":"","sources":["../../src/notifications/tmux.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAoBrD;AA+DD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAmB9D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,GAAE,MAAW,GAAG,MAAM,GAAG,IAAI,CAmBzF;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAI9C;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAuBpD"}
@@ -3,7 +3,10 @@
3
3
  *
4
4
  * Detects the current tmux session name and pane ID for inclusion in notification payloads.
5
5
  */
6
- import { execSync } from "child_process";
6
+ import { execFileSync, execSync } from "child_process";
7
+ const TMUX_PANE_TARGET_RE = /^%\d+$/;
8
+ const DEFAULT_CAPTURE_LINES = 12;
9
+ const MAX_CAPTURE_LINES = 2000;
7
10
  function shouldUsePidFallback() {
8
11
  return process.env.OMX_TMUX_PID_FALLBACK === "1";
9
12
  }
@@ -116,6 +119,33 @@ export function getTeamTmuxSessions(teamName) {
116
119
  return [];
117
120
  }
118
121
  }
122
+ /**
123
+ * Capture the last N lines of output from a tmux pane.
124
+ * Used to include a tail snippet in session-level notifications.
125
+ * Returns null if capture fails or tmux is not available.
126
+ */
127
+ export function captureTmuxPane(paneId, lines = 12) {
128
+ const target = paneId || process.env.TMUX_PANE;
129
+ if (!target)
130
+ return null;
131
+ if (!process.env.TMUX && !paneId)
132
+ return null;
133
+ if (!TMUX_PANE_TARGET_RE.test(target))
134
+ return null;
135
+ const safeLines = Number.isFinite(lines) ? Math.trunc(lines) : DEFAULT_CAPTURE_LINES;
136
+ const clampedLines = Math.max(1, Math.min(MAX_CAPTURE_LINES, safeLines));
137
+ try {
138
+ const output = execFileSync("tmux", ["capture-pane", "-t", target, "-p", "-l", String(clampedLines)], {
139
+ encoding: "utf-8",
140
+ timeout: 3000,
141
+ stdio: ["pipe", "pipe", "pipe"],
142
+ }).trim();
143
+ return output || null;
144
+ }
145
+ catch {
146
+ return null;
147
+ }
148
+ }
119
149
  /**
120
150
  * Format tmux session info for human-readable display.
121
151
  * Returns null if not in tmux.