@productbrain/cli 0.1.0-beta.10695 → 0.1.0-beta.10698
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.
- package/dist/commands/people.d.ts.map +1 -1
- package/dist/commands/people.js +2 -1
- package/dist/commands/people.js.map +1 -1
- package/dist/commands/role.d.ts.map +1 -1
- package/dist/commands/role.js +4 -3
- package/dist/commands/role.js.map +1 -1
- package/dist/commands/role.test.js +4 -4
- package/dist/lib/seatSentence.d.ts +17 -0
- package/dist/lib/seatSentence.d.ts.map +1 -1
- package/dist/lib/seatSentence.js +37 -1
- package/dist/lib/seatSentence.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"people.d.ts","sourceRoot":"","sources":["../../src/commands/people.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAID,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"people.d.ts","sourceRoot":"","sources":["../../src/commands/people.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAID,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAc/G"}
|
package/dist/commands/people.js
CHANGED
|
@@ -7,7 +7,8 @@ import { runOrganisationWrite } from './organisationWrite.js';
|
|
|
7
7
|
export async function runPeopleInvite(personId, options) {
|
|
8
8
|
// A placeholder keeps its own name; a new person needs one. Refused before any network call.
|
|
9
9
|
if ((personId === undefined) === (options.name === undefined)) {
|
|
10
|
-
|
|
10
|
+
// TASK-712 (DEC-2007): the refusal names no stored status word.
|
|
11
|
+
throw new CLIError(personId === undefined ? 'Say who to invite: their person id, or --name for someone new.' : 'That person keeps their own name; drop --name.', {
|
|
11
12
|
code: ErrorCode.VALIDATION_FAILED, category: 'validation',
|
|
12
13
|
guidance: 'Usage: pb people invite [person-id] --email <email> [--name <name>]',
|
|
13
14
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"people.js","sourceRoot":"","sources":["../../src/commands/people.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAS9D,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAA4B,EAAE,OAA4B;IAC/F,6FAA6F;IAC7F,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"people.js","sourceRoot":"","sources":["../../src/commands/people.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAS9D,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAA4B,EAAE,OAA4B;IAC/F,6FAA6F;IAC7F,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;QAC/D,gEAAgE;QAChE,MAAM,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,gEAAgE,CAAC,CAAC,CAAC,gDAAgD,EAAE;YAChK,IAAI,EAAE,SAAS,CAAC,iBAAiB,EAAE,QAAQ,EAAE,YAAY;YACzD,QAAQ,EAAE,qEAAqE;SAC/E,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAChF,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,oBAAoB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,qBAAqB,CAAe,eAAe,EAAE;QAC5F,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS;KACvG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAClH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../src/commands/role.ts"],"names":[],"mappings":"AAiCA,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE5E,MAAM,WAAW,sBAAsB;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;gFAQgF;AAChF,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IAItB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,mBAAmB,EAAE,cAAc,CAAC;IACpC,0BAA0B,EAAE,MAAM,CAAC;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,yFAAyF;IACzF,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;IAC9F,gBAAgB,EAAE,OAAO,CAAC;CAC1B;
|
|
1
|
+
{"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../src/commands/role.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/role.js
CHANGED
|
@@ -2,18 +2,19 @@ import { getConfigOrGuide } from '../lib/config.js';
|
|
|
2
2
|
import { kernelCall, kernelCallWithSession } from '../lib/client.js';
|
|
3
3
|
import { CLIError, ErrorCode } from '../lib/errors.js';
|
|
4
4
|
import { runCliCommand } from '../lib/runner.js';
|
|
5
|
-
import { formatSeatSentence } from '../lib/seatSentence.js';
|
|
5
|
+
import { formatSeatSentence, personStatusTag } from '../lib/seatSentence.js';
|
|
6
6
|
import { sanitizeSingleLineField } from '../lib/strip.js';
|
|
7
7
|
import { runOrganisationWrite } from './organisationWrite.js';
|
|
8
8
|
import { formatOwnerLine } from '../formatters/entry.js';
|
|
9
|
-
/** Holders first: who answers for the role, a non-active holder tagged with their
|
|
9
|
+
/** Holders first: who answers for the role, a non-active holder tagged with their state word (TASK-712, DEC-2007). */
|
|
10
10
|
function formatHolders(result) {
|
|
11
11
|
if (result.holders.length === 0)
|
|
12
12
|
return [` holders: none${result.holdersTruncated ? ' found, but the membership scan is incomplete' : ''}`];
|
|
13
13
|
return [
|
|
14
14
|
' holders:',
|
|
15
15
|
...result.holders.map((h) => {
|
|
16
|
-
const
|
|
16
|
+
const word = personStatusTag(h.status);
|
|
17
|
+
const tag = word ? ` (${word})` : '';
|
|
17
18
|
const team = h.teamName ? ` in ${sanitizeSingleLineField(h.teamName)}` : '';
|
|
18
19
|
return ` ${sanitizeSingleLineField(h.displayName)}${tag}${team}`;
|
|
19
20
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role.js","sourceRoot":"","sources":["../../src/commands/role.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAkB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"role.js","sourceRoot":"","sources":["../../src/commands/role.ts"],"names":[],"mappings":"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"}
|
|
@@ -124,8 +124,8 @@ describe('formatRoleAccountable', () => {
|
|
|
124
124
|
],
|
|
125
125
|
});
|
|
126
126
|
expect(text).toContain(' Ann in Core');
|
|
127
|
-
expect(text).toContain(' Jan Jansen (
|
|
128
|
-
expect(text).toContain(' Mathijs (
|
|
127
|
+
expect(text).toContain(' Jan Jansen (Not invited) in Core');
|
|
128
|
+
expect(text).toContain(' Mathijs (Invited)');
|
|
129
129
|
});
|
|
130
130
|
it('always reports inherited as not-computed, with the reason, never faked as empty', () => {
|
|
131
131
|
const text = formatRoleAccountable(emptyResult);
|
|
@@ -235,12 +235,12 @@ describe('pb role seat / unseat', () => {
|
|
|
235
235
|
expect(kernelCallWithSession).toHaveBeenCalledWith('organisation.seatInRole', {
|
|
236
236
|
roleRef: 'ROL-8', targetPersonRef: undefined, newPersonName: 'Jan Jansen', teamRef: undefined, sessionId: 'sess-1',
|
|
237
237
|
});
|
|
238
|
-
expect(printed.join('')).toBe('Seated Jan Jansen (
|
|
238
|
+
expect(printed.join('')).toBe('Seated Jan Jansen (Not invited) [p1] as Product Analyst (ROL-8) in Product.\n');
|
|
239
239
|
});
|
|
240
240
|
it('seat: the same placeholder again reads as confirmed (the kernel reuses the person by exact name)', async () => {
|
|
241
241
|
kernelCallWithSession.mockResolvedValue({ ...seated, created: false });
|
|
242
242
|
await runRoleSeat('ROL-8', { newPerson: 'Jan Jansen' });
|
|
243
|
-
expect(printed.join('')).toBe('Confirmed Jan Jansen (
|
|
243
|
+
expect(printed.join('')).toBe('Confirmed Jan Jansen (Not invited) [p1] as Product Analyst (ROL-8) in Product.\n');
|
|
244
244
|
});
|
|
245
245
|
it('seat: an existing person with --team (Team Lead) forwards the team, and an active person carries no status tag', async () => {
|
|
246
246
|
kernelCallWithSession.mockResolvedValue({ ...seated, created: false, person: 'Ada', personStatus: 'active', roleName: 'Team Lead', role: 'ROL-1' });
|
|
@@ -13,6 +13,23 @@
|
|
|
13
13
|
* A seat names the person's id after their name: a placeholder has no email, and the id is the
|
|
14
14
|
* handle `pb role unseat --person` and the MCP `unseat` take (PR #1549 review; TASK-636, DEC-1810).
|
|
15
15
|
*/
|
|
16
|
+
/**
|
|
17
|
+
* TASK-712 (WP-808, DEC-2007, RULE-664): the one word a person or an agent reads for a person's state: the Rail holder
|
|
18
|
+
* chip, the Assign rows, a team's members, a role's history line, the seat refusal, the CLI holder tag and the MCP role
|
|
19
|
+
* and people reads. A person with no login reads Not invited; Draft stays the word for entries, roles and teams waiting
|
|
20
|
+
* for an accept. Keys are the stored people.status values (convex/lib/constants.ts PERSON_STATUS); the stored value
|
|
21
|
+
* placeholder is unchanged, so nothing migrates. It lives in this file because this is the organisation words file
|
|
22
|
+
* already copied into both connectors; change a word here and every surface follows.
|
|
23
|
+
*/
|
|
24
|
+
export declare const PERSON_STATUS_WORDS: {
|
|
25
|
+
readonly active: "Active";
|
|
26
|
+
readonly invited: "Invited";
|
|
27
|
+
readonly placeholder: "Not invited";
|
|
28
|
+
readonly archived: "Archived";
|
|
29
|
+
};
|
|
30
|
+
export type PersonStatusKey = keyof typeof PERSON_STATUS_WORDS;
|
|
31
|
+
/** The tag beside a person's name: none for an active person (DEC-1810), the state word for every other stored status. */
|
|
32
|
+
export declare function personStatusTag(status: string | null | undefined): string | null;
|
|
16
33
|
export interface SeatReply {
|
|
17
34
|
outcome: 'applied' | 'refused';
|
|
18
35
|
created?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seatSentence.d.ts","sourceRoot":"","sources":["../../src/lib/seatSentence.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,SAAS;IACzB,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACpE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"seatSentence.d.ts","sourceRoot":"","sources":["../../src/lib/seatSentence.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB;;;;;CAKtB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAE/D,0HAA0H;AAC1H,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAGhF;AAED,MAAM,WAAW,SAAS;IACzB,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACpE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAexH;AAED;qGACqG;AACrG,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAKjG;AAED;qGACqG;AACrG,eAAO,MAAM,gCAAgC,EAAE,WAAW,CAAC,MAAM,CAkB/D,CAAC"}
|
package/dist/lib/seatSentence.js
CHANGED
|
@@ -1,11 +1,47 @@
|
|
|
1
1
|
// GENERATED by scripts/generate-mcp-embedded-copies.mjs from kernel/organisationalAuthority/seatSentence.ts.
|
|
2
2
|
// DO NOT EDIT. Run `npm run mcp:embedded-copies` to regenerate.
|
|
3
3
|
// Local runtime copy for the isolated connector build.
|
|
4
|
+
/**
|
|
5
|
+
* TASK-633 S3c (WP-808, DEC-1954): the one sentence a seat or unseat reply reads as, on the CLI
|
|
6
|
+
* (`pb role seat` / `pb role unseat`) and the MCP `role` tool alike. Both doors call the same
|
|
7
|
+
* kernel routes (`organisation.seatInRole` / `organisation.unseatFromRole`) and render this
|
|
8
|
+
* sentence from the result, so the two replies cannot drift (RULE-657: one place decides it).
|
|
9
|
+
* The invite reply (`pb people invite`, the MCP people tool's `invite`; TASK-637) lives here too: one organisation
|
|
10
|
+
* reply file, one generated copy per connector.
|
|
11
|
+
*
|
|
12
|
+
* Pure, no I/O, zero imports: copied into each connector by scripts/generate-mcp-embedded-copies.mjs.
|
|
13
|
+
* Field sanitization is the caller's (each connector's own `sanitizeSingleLineField`), passed in
|
|
14
|
+
* as `clean`, the same split ownerLine.ts uses.
|
|
15
|
+
*
|
|
16
|
+
* A seat names the person's id after their name: a placeholder has no email, and the id is the
|
|
17
|
+
* handle `pb role unseat --person` and the MCP `unseat` take (PR #1549 review; TASK-636, DEC-1810).
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* TASK-712 (WP-808, DEC-2007, RULE-664): the one word a person or an agent reads for a person's state: the Rail holder
|
|
21
|
+
* chip, the Assign rows, a team's members, a role's history line, the seat refusal, the CLI holder tag and the MCP role
|
|
22
|
+
* and people reads. A person with no login reads Not invited; Draft stays the word for entries, roles and teams waiting
|
|
23
|
+
* for an accept. Keys are the stored people.status values (convex/lib/constants.ts PERSON_STATUS); the stored value
|
|
24
|
+
* placeholder is unchanged, so nothing migrates. It lives in this file because this is the organisation words file
|
|
25
|
+
* already copied into both connectors; change a word here and every surface follows.
|
|
26
|
+
*/
|
|
27
|
+
export const PERSON_STATUS_WORDS = {
|
|
28
|
+
active: 'Active',
|
|
29
|
+
invited: 'Invited',
|
|
30
|
+
placeholder: 'Not invited',
|
|
31
|
+
archived: 'Archived',
|
|
32
|
+
};
|
|
33
|
+
/** The tag beside a person's name: none for an active person (DEC-1810), the state word for every other stored status. */
|
|
34
|
+
export function personStatusTag(status) {
|
|
35
|
+
if (!status || status === 'active' || !Object.prototype.hasOwnProperty.call(PERSON_STATUS_WORDS, status))
|
|
36
|
+
return null;
|
|
37
|
+
return PERSON_STATUS_WORDS[status];
|
|
38
|
+
}
|
|
4
39
|
export function formatSeatSentence(action, reply, clean) {
|
|
5
40
|
if (reply.outcome === 'refused') {
|
|
6
41
|
return `Refused: ${reply.refusal?.reason ?? reply.refusal?.code ?? 'not allowed'}${reply.refusal?.requiredAction ? ` ${reply.refusal.requiredAction}` : ''}`;
|
|
7
42
|
}
|
|
8
|
-
const
|
|
43
|
+
const tag = personStatusTag(reply.personStatus);
|
|
44
|
+
const who = `${clean(reply.person ?? '')}${tag ? ` (${tag})` : ''}`;
|
|
9
45
|
const roleLabel = `${clean(reply.roleName ?? '')} (${reply.role ?? ''})`;
|
|
10
46
|
const teamLabel = clean(reply.teamName ?? '');
|
|
11
47
|
if (action === 'seat') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seatSentence.js","sourceRoot":"","sources":["../../src/lib/seatSentence.ts"],"names":[],"mappings":"AAAA,6GAA6G;AAC7G,gEAAgE;AAChE,uDAAuD;
|
|
1
|
+
{"version":3,"file":"seatSentence.js","sourceRoot":"","sources":["../../src/lib/seatSentence.ts"],"names":[],"mappings":"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"}
|