create-pmos 0.54.0 → 0.55.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.
@@ -89,6 +89,188 @@ export const COPY = {
89
89
  refused: (why) => `Nothing changed. ${why}`,
90
90
  unreached: 'The workspace did not answer.',
91
91
  },
92
+ /** The day section (initiative today-goals, PRD G9 to G22): the top bar, the four lists on the left and the detail on the
93
+ * right. A status word is short: one pill shows it. */
94
+ day: {
95
+ title: 'Your day',
96
+ toggle: (need) => (need ? `Your day · ${need} ${need === 1 ? 'needs' : 'need'} you` : 'Your day: calendar, jobs, goals and mentions'),
97
+ fold: 'Fold your day',
98
+ hello: { morning: 'Good morning.', afternoon: 'Good afternoon.', evening: 'Good evening.' },
99
+ free: (min) => `${Math.floor(min / 60)} h ${min % 60} min free`,
100
+ steps: ['Read', 'Sort', 'Agents work', 'You approve'],
101
+ stepTitle: ['Read your sources', 'Make the jobs', 'Agents do the work', 'You approve'],
102
+ stepHint: ['The session reads your calendar and your mentions.', 'Each job is tied to a goal or a meeting.', 'One session per job, at most 5 at once.', 'Only what sends or decides waits for you.'],
103
+ stepOf: (n) => `Prepare my day · step ${n} of 4`,
104
+ status: {
105
+ idle: 'One press: the agent reads, makes the jobs and does them. You approve only what sends or decides.',
106
+ reading: 'Reading your calendar and mentions…',
107
+ working: (w, n) => `${w} ${w === 1 ? 'agent' : 'agents'} working · ${n} ${n === 1 ? 'needs' : 'need'} you`,
108
+ review: (n, d) => `${n} ${n === 1 ? 'needs' : 'need'} you · ${d} done`,
109
+ done: (d) => `All jobs done · ${d} done`,
110
+ },
111
+ checked: (last, next) => (last ? `Checked ${last}${next ? ` · next ${next}` : ''}` : next ? `First check at ${next}` : 'No check yet'),
112
+ checking: 'Checking…',
113
+ checkNow: 'Check now',
114
+ checkOff: 'Daytime check off',
115
+ checkStarted: 'A check started. It reads only what changed.',
116
+ checkRefused: (why) => `No check started. ${why}`,
117
+ sources: 'Sources',
118
+ prepare: 'Prepare my day',
119
+ again: 'Prepare again',
120
+ starting: 'Starting…',
121
+ stillReading: 'Reading…',
122
+ prepareHint: 'Starts a session that reads your sources. When it is done, one session starts for each job the agent can do.',
123
+ runStarted: (at) => `Started at ${at}. The session reads your sources; the jobs show here when it is done.`,
124
+ runRunning: 'The read is still running. Nothing new started.',
125
+ runFailed: (why) => `Not started. ${why}`,
126
+ openSession: 'Open the session',
127
+ unreached: 'The workspace did not answer.',
128
+ refused: (why) => `Nothing changed. ${why}`,
129
+ oldServer: 'This workspace server has no day run yet. Only your goals show.',
130
+ panels: { calendar: 'Calendar', jobs: 'Jobs', goals: 'Goals for today', mentions: 'Mentions since yesterday', detail: 'Detail' },
131
+ now: (at) => `now ${at}`,
132
+ noCalendar: 'No events read for today.',
133
+ noJobs: 'No jobs yet. Press Prepare my day. Each job shows here; select one to see what it needs.',
134
+ readingJobs: 'Reading your sources…',
135
+ noMentions: 'No mentions read today.',
136
+ groups: { needs: 'Needs you', working: 'Agent working', done: 'Done', worth: 'Worth asking' },
137
+ jobsCount: (n, d) => `${n} ${n === 1 ? 'needs' : 'need'} you · ${d} done`,
138
+ goalsCount: (n, max) => `${n} of ${max}`,
139
+ mentionsCount: (n, need) => `${n} · ${need} ${need === 1 ? 'needs' : 'need'} you`,
140
+ all: 'All',
141
+ status2: {
142
+ waiting: 'waiting', working: 'agent working', review: 'approve', reviewAuto: 'check it', sending: 'sending', sent: 'sent',
143
+ done: 'done', failed: 'failed', you: 'your act', notStarted: 'not started', handled: 'handled', replyNeeded: 'reply needed',
144
+ },
145
+ newItem: 'new',
146
+ pill: { prepare: 'prepare', ready: 'ready', ended: 'ended', notes: 'notes', goal: (n) => `goal ${n}` },
147
+ watched: 'Watched channels, projects and spaces',
148
+ showIgnored: (n) => `Show ${n} ignored`,
149
+ hideIgnored: 'Hide ignored',
150
+ digestLine: (lvl, d, o) => `${lvl} · ${d} ${d === 1 ? 'decision' : 'decisions'} · ${o} open ${o === 1 ? 'question' : 'questions'}`,
151
+ levels: { watch: 'Watch', search: 'Search', ignore: 'Ignore' },
152
+ levelWord: { watch: 'watched', search: 'searched', ignore: 'ignored' },
153
+ levelHelp: 'Watch: read every message and sum it up. Search: read only mentions and words from your goals. Ignore: do not read.',
154
+ place: { slack: 'channel', jira: 'project', confluence: 'space' },
155
+ placeAdd: { slack: 'Add a channel', jira: 'Add a project', confluence: 'Add a space' },
156
+ placeHint: 'Type a name and press Enter. It is watched.',
157
+ readNote: { slack: 'Mentions, DMs and your threads are always read.', jira: 'Issues assigned to you and mentions of you are always read.', confluence: 'Pages and comments that mention you are always read.' },
158
+ decisions: 'Decisions',
159
+ open: 'Open questions',
160
+ forGoals: 'For your goals',
161
+ openIn: (svc) => `Open in ${svc} ↗`,
162
+ changeLevel: 'Level',
163
+ kind: {
164
+ meeting: 'Meeting', job: 'Job', jobGoal: (n) => `Job · goal ${n}`, goal: (n) => `Goal ${n}`, mention: (svc) => `Mention · ${svc}`,
165
+ settings: 'Settings', place: (svc, what, lvl) => `${svc} ${what} · ${lvl}`,
166
+ },
167
+ ended: 'ended',
168
+ purpose: 'Goal of the meeting',
169
+ prep: 'Prepare',
170
+ phases: { before: 'Before', during: 'During', after: 'After' },
171
+ who: { pm: 'you', agent: 'agent' },
172
+ needPrep: 'You need to prepare',
173
+ nothingToPrep: 'Nothing to prepare',
174
+ initiative: 'Initiative',
175
+ suggested: (why) => `Suggested. ${why}`,
176
+ openInitiative: 'Open the initiative',
177
+ countsToward: (n, text) => `Counts toward goal ${n}: ${text}`,
178
+ tieHow: 'To tie this meeting to a goal, add it as a goal. A goal with the same initiative takes its jobs.',
179
+ addAsGoal: 'Add as a goal for today',
180
+ goalAdded: 'The meeting is a goal for today.',
181
+ notesTitle: 'After the meeting: what was found',
182
+ wispr: 'Wispr Flow notes',
183
+ actions: 'Action items',
184
+ mail: 'Related mail',
185
+ noWispr: 'No Wispr Flow notes for this meeting.',
186
+ noMail: 'No related mail.',
187
+ openLink: 'open ↗',
188
+ about: 'About',
189
+ ask: 'The ask',
190
+ reply: 'Reply needed',
191
+ how: 'How',
192
+ why: 'Why now',
193
+ where: 'From',
194
+ yes: 'Yes',
195
+ no: 'No',
196
+ fromWho: (who, where) => (who && where ? `${who} in ${where}` : who || where || ''),
197
+ draft: 'The draft',
198
+ approve: 'Approve and let the agent send it',
199
+ approveAuto: 'Approve',
200
+ revise: 'Revise',
201
+ retry: 'Run it again',
202
+ noteLabel: 'What should change',
203
+ noteHint: 'What should change? For example: shorter, and lead with the decision.',
204
+ sendNote: 'Run it again with this note',
205
+ cancel: 'Cancel',
206
+ noteNeeded: 'Write what should change, in 1 to 500 characters.',
207
+ revisions: (n, max) => `${n} of ${max} revisions used`,
208
+ noMoreRevisions: 'This job used all its revisions. Do the rest yourself.',
209
+ openConversation: 'Open the conversation ↗',
210
+ openDraft: 'Open the draft ↗',
211
+ openSent: 'Open what was sent ↗',
212
+ decided: { approve: 'Your approval is recorded. The agent sends it now.', revise: 'The note is recorded. A new session starts for this job.', retry: 'The job waits for a session.' },
213
+ sentAt: (at) => `Sent at ${at}.`,
214
+ failedWhy: (why) => `Failed: ${why}`,
215
+ waitingNote: 'The agent has not started this job yet. At most 5 sessions run at once.',
216
+ workingNote: 'An agent session is doing this job now.',
217
+ sendingNote: 'You said yes to this draft. An agent session is sending it now.',
218
+ youNote: 'Only you can do this one. The link opens the conversation.',
219
+ autoNote: 'The agent did this alone. Nothing went outside this machine.',
220
+ notTask: 'The agent starts this job when you press Prepare my day.',
221
+ related: 'Related',
222
+ theJob: 'The job for it',
223
+ goalJobs: (d, n) => `${d} of ${n} jobs done`,
224
+ goalNeed: (n) => `${n} ${n === 1 ? 'needs' : 'need'} you`,
225
+ goalNone: 'No job yet',
226
+ meetings: 'Meetings',
227
+ jobs: 'Jobs',
228
+ stepsTitle: 'Steps found',
229
+ readNone: 'Press Prepare my day. A session starts and reads your sources by itself.',
230
+ readNow: 'The morning-brief session is reading your sources now.',
231
+ readDone: (ev, it) => `Read ${ev} ${ev === 1 ? 'event' : 'events'} and ${it} ${it === 1 ? 'item' : 'items'}.`,
232
+ notYet: 'Not started yet.',
233
+ madeJobs: (n, you, agent) => `${n} ${n === 1 ? 'job' : 'jobs'}: ${you} for you, ${agent} for the agent.`,
234
+ agentsLine: (w, q, d) => `${w} working, ${q} waiting, ${d} done. At most 5 sessions run at once.`,
235
+ approveLine: (n) => `${n} ${n === 1 ? 'job needs' : 'jobs need'} you. Nothing goes out before you approve it.`,
236
+ manageSources: 'Manage sources',
237
+ sourcesIntro: 'Read only. The agent asks you before it sends anything. Select a name for its settings.',
238
+ dayCheck: 'Daytime check',
239
+ every: 'How often',
240
+ everyOpts: [[30, '30 min'], [60, '60 min'], [0, 'Off']],
241
+ hours: 'Working hours',
242
+ beforeMeeting: 'Before a meeting',
243
+ beforeMeetingWhat: 'reads again 15 min before',
244
+ afterMeeting: 'After a meeting',
245
+ afterMeetingWhat: 'reads the notes and mail once',
246
+ checkHelp: 'Each check reads only what changed. After two empty checks, the wait doubles, up to 2 hours.',
247
+ checkRunning: (at) => `${at} · checking now`,
248
+ checkLog: (at, found, resolved) => `${at} · ${found} new, ${resolved} taken off`,
249
+ srcName: { calendar: 'Calendar', wispr: 'Wispr Flow', mail: 'Mail', slack: 'Slack', jira: 'Jira', confluence: 'Confluence', github: 'GitHub', drive: 'Google Drive', figma: 'Figma', website: 'Your websites' },
250
+ srcWhat: {
251
+ calendar: 'Today\'s events, who attends, agenda links',
252
+ wispr: 'Notes of meetings that ended',
253
+ mail: 'Threads tied to today\'s meetings: subjects and senders only',
254
+ slack: 'Mentions and DMs since yesterday, and the channels you watch',
255
+ jira: 'Issues and comments that mention you, reviews that wait',
256
+ confluence: 'Pages and comments that mention you',
257
+ github: 'Pull requests and issues that wait on you or mention you',
258
+ drive: 'Docs shared with you, and comments to you',
259
+ figma: 'Comments that mention you, files changed since yesterday',
260
+ website: 'Your pages: changes and broken links',
261
+ },
262
+ srcState: { off: 'off', 'not-reached': 'not reached', read: 'read', none: 'not read yet' },
263
+ gave: (n) => `gave ${n}`,
264
+ readSwitch: (name) => `Read ${name}`,
265
+ read: 'Read',
266
+ sites: 'Website addresses',
267
+ siteAdd: 'Add a website',
268
+ siteHint: 'https://… then press Enter',
269
+ siteBad: 'A website address starts with https or http.',
270
+ siteFull: 'At most 10 websites.',
271
+ remove: 'Remove',
272
+ noSources: 'The sources could not be read.',
273
+ },
92
274
  /** The Acceptance Gate card (D12): the PM's own act on a run. */
93
275
  accept: {
94
276
  review: 'Review',