@productbrain/cli 0.1.0-beta.10534 → 0.1.0-beta.10538
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/organisationHierarchy.d.ts +7 -0
- package/dist/commands/organisationHierarchy.d.ts.map +1 -1
- package/dist/commands/organisationHierarchy.js +41 -3
- package/dist/commands/organisationHierarchy.js.map +1 -1
- package/dist/commands/organisationHierarchy.test.js +62 -3
- package/dist/commands/organisationHierarchy.test.js.map +1 -1
- package/dist/commands/organisationWrite.d.ts +3 -1
- package/dist/commands/organisationWrite.d.ts.map +1 -1
- package/dist/commands/organisationWrite.js +8 -38
- package/dist/commands/organisationWrite.js.map +1 -1
- package/dist/generated/routeLatencyBudget.generated.d.ts.map +1 -1
- package/dist/generated/routeLatencyBudget.generated.js +3 -0
- package/dist/generated/routeLatencyBudget.generated.js.map +1 -1
- package/dist/lib/seatSentence.d.ts +3 -0
- package/dist/lib/seatSentence.d.ts.map +1 -1
- package/dist/lib/seatSentence.js +21 -0
- package/dist/lib/seatSentence.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,5 +4,12 @@ export declare function runHierarchySet(child: string, options: {
|
|
|
4
4
|
parent: string;
|
|
5
5
|
}): Promise<void>;
|
|
6
6
|
export declare function runHierarchyClear(child: string): Promise<void>;
|
|
7
|
+
export declare function runHierarchyRelease(child: string, options: {
|
|
8
|
+
to: string;
|
|
9
|
+
}): Promise<void>;
|
|
10
|
+
export declare function runHierarchyAccept(child: string): Promise<void>;
|
|
11
|
+
export declare function runHierarchyRefuse(child: string, options: {
|
|
12
|
+
why: string;
|
|
13
|
+
}): Promise<void>;
|
|
7
14
|
export declare function createOrganisationHierarchyCommand(): Command;
|
|
8
15
|
//# sourceMappingURL=organisationHierarchy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organisationHierarchy.d.ts","sourceRoot":"","sources":["../../src/commands/organisationHierarchy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"organisationHierarchy.d.ts","sourceRoot":"","sources":["../../src/commands/organisationHierarchy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6CpC,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAOtD;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAY/F;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUpE;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAS/F;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOrE;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAS/F;AAED,wBAAgB,kCAAkC,IAAI,OAAO,CA+B5D"}
|
|
@@ -3,6 +3,9 @@ import { getConfigOrGuide } from '../lib/config.js';
|
|
|
3
3
|
import { kernelCall, kernelCallWithSession } from '../lib/client.js';
|
|
4
4
|
import { runCliCommand } from '../lib/runner.js';
|
|
5
5
|
import { runOrganisationWrite } from './organisationWrite.js';
|
|
6
|
+
/** DEC-1994: the kernel sentence names no command; the CLI appends the release command as formatting. Only `set` gets it:
|
|
7
|
+
* `clear` names no target team, and a hint with a placeholder is not a command anyone can run. */
|
|
8
|
+
const releaseHint = (child, parent) => (code) => code === 'cross_lead_release_required' ? `Run: pb organisation hierarchy release ${child} --to ${parent}` : undefined;
|
|
6
9
|
function formatHierarchy(view) {
|
|
7
10
|
const lines = [
|
|
8
11
|
`Team hierarchy: ${view.integrity.valid ? 'valid' : 'needs repair'}`,
|
|
@@ -17,8 +20,10 @@ function formatHierarchy(view) {
|
|
|
17
20
|
return lines.join('\n');
|
|
18
21
|
}
|
|
19
22
|
function formatApplied(result) {
|
|
20
|
-
if (!result.changed)
|
|
21
|
-
|
|
23
|
+
if (!result.changed) {
|
|
24
|
+
const noop = `${String(result.child)} already has the requested parent state; nothing changed.`;
|
|
25
|
+
return 'line' in result && result.line ? `${noop} ${result.line}` : noop; // TASK-849: a release still waiting says so
|
|
26
|
+
}
|
|
22
27
|
return result.operation === 'hierarchy.set'
|
|
23
28
|
? `Set ${String(result.child)} parent to ${String(result.parent)}.`
|
|
24
29
|
: `Cleared the parent of ${String(result.child)}.`;
|
|
@@ -40,7 +45,7 @@ export async function runHierarchySet(child, options) {
|
|
|
40
45
|
childTeamRef: child,
|
|
41
46
|
parentTeamRef: options.parent,
|
|
42
47
|
sessionId: context.sessionId,
|
|
43
|
-
}), formatApplied);
|
|
48
|
+
}), formatApplied, releaseHint(child, options.parent));
|
|
44
49
|
}
|
|
45
50
|
export async function runHierarchyClear(child) {
|
|
46
51
|
const config = await getConfigOrGuide(() => runHierarchyClear(child));
|
|
@@ -51,6 +56,28 @@ export async function runHierarchyClear(child) {
|
|
|
51
56
|
sessionId: context.sessionId,
|
|
52
57
|
}), formatApplied);
|
|
53
58
|
}
|
|
59
|
+
export async function runHierarchyRelease(child, options) {
|
|
60
|
+
const config = await getConfigOrGuide(() => runHierarchyRelease(child, options));
|
|
61
|
+
if (!config)
|
|
62
|
+
return;
|
|
63
|
+
await runOrganisationWrite((context) => kernelCallWithSession('organisation.hierarchy.release', {
|
|
64
|
+
childRef: child, toParentRef: options.to, sessionId: context.sessionId,
|
|
65
|
+
}), (result) => result.replaced ? `${result.line} It replaces the release toward ${result.replaced}.` : result.line);
|
|
66
|
+
}
|
|
67
|
+
export async function runHierarchyAccept(child) {
|
|
68
|
+
const config = await getConfigOrGuide(() => runHierarchyAccept(child));
|
|
69
|
+
if (!config)
|
|
70
|
+
return;
|
|
71
|
+
await runOrganisationWrite((context) => kernelCallWithSession('organisation.hierarchy.accept', { childRef: child, sessionId: context.sessionId }), (result) => result.line);
|
|
72
|
+
}
|
|
73
|
+
export async function runHierarchyRefuse(child, options) {
|
|
74
|
+
const config = await getConfigOrGuide(() => runHierarchyRefuse(child, options));
|
|
75
|
+
if (!config)
|
|
76
|
+
return;
|
|
77
|
+
await runOrganisationWrite((context) => kernelCallWithSession('organisation.hierarchy.refuse', {
|
|
78
|
+
childRef: child, why: options.why, sessionId: context.sessionId,
|
|
79
|
+
}), (result) => result.line);
|
|
80
|
+
}
|
|
54
81
|
export function createOrganisationHierarchyCommand() {
|
|
55
82
|
const command = new Command('hierarchy')
|
|
56
83
|
.description('Inspect and govern canonical parent-child team structure');
|
|
@@ -70,6 +97,17 @@ export function createOrganisationHierarchyCommand() {
|
|
|
70
97
|
command.command('clear <child-id>')
|
|
71
98
|
.description('Clear one child team or role parent without cascading work or membership')
|
|
72
99
|
.action(runHierarchyClear);
|
|
100
|
+
command.command('release <child-id>')
|
|
101
|
+
.description('As Team Lead of its team, release a team or role toward a team with another Team Lead')
|
|
102
|
+
.requiredOption('--to <parent-team-id>', 'The team it moves to; that team\'s Team Lead accepts it')
|
|
103
|
+
.action(runHierarchyRelease);
|
|
104
|
+
command.command('accept <child-id>')
|
|
105
|
+
.description('As Team Lead of the team it was released toward, accept the move')
|
|
106
|
+
.action(runHierarchyAccept);
|
|
107
|
+
command.command('refuse <child-id>')
|
|
108
|
+
.description('As Team Lead of the team it was released toward, refuse the move; it stays and a tension is raised')
|
|
109
|
+
.requiredOption('--why <text>', 'Why the move is refused')
|
|
110
|
+
.action(runHierarchyRefuse);
|
|
73
111
|
return command;
|
|
74
112
|
}
|
|
75
113
|
//# sourceMappingURL=organisationHierarchy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organisationHierarchy.js","sourceRoot":"","sources":["../../src/commands/organisationHierarchy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"organisationHierarchy.js","sourceRoot":"","sources":["../../src/commands/organisationHierarchy.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ vi.mock('../lib/runner.js', () => ({
|
|
|
14
14
|
isJsonMode: vi.fn(() => false),
|
|
15
15
|
runCliCommand: vi.fn(async ({ fn }) => { await fn(); }),
|
|
16
16
|
}));
|
|
17
|
-
import { createOrganisationHierarchyCommand, runHierarchyClear, runHierarchySet, runHierarchyShow, } from './organisationHierarchy.js';
|
|
17
|
+
import { createOrganisationHierarchyCommand, runHierarchyAccept, runHierarchyClear, runHierarchyRefuse, runHierarchyRelease, runHierarchySet, runHierarchyShow, } from './organisationHierarchy.js';
|
|
18
18
|
describe('organisation hierarchy CLI', () => {
|
|
19
19
|
beforeEach(() => {
|
|
20
20
|
vi.clearAllMocks();
|
|
@@ -45,9 +45,9 @@ describe('organisation hierarchy CLI', () => {
|
|
|
45
45
|
await expect(runHierarchySet('TEAM-PARENT', { parent: 'TEAM-CHILD' }))
|
|
46
46
|
.rejects.toThrow('This would create a cycle');
|
|
47
47
|
});
|
|
48
|
-
it('exposes
|
|
48
|
+
it('exposes show, set, clear and the release, accept and refuse verbs of a cross-lead move', () => {
|
|
49
49
|
const commands = createOrganisationHierarchyCommand().commands;
|
|
50
|
-
expect(commands.map((command) => command.name())).toEqual(['show', 'set', 'clear']);
|
|
50
|
+
expect(commands.map((command) => command.name())).toEqual(['show', 'set', 'clear', 'release', 'accept', 'refuse']);
|
|
51
51
|
expect(commands.find((command) => command.name() === 'set')?.description())
|
|
52
52
|
.toBe("Set or change one child team or role's canonical parent (team)");
|
|
53
53
|
});
|
|
@@ -68,5 +68,64 @@ describe('organisation hierarchy CLI', () => {
|
|
|
68
68
|
childTeamRef: 'ROL-2', parentTeamRef: 'TEAM-1', sessionId: 'session-1',
|
|
69
69
|
});
|
|
70
70
|
});
|
|
71
|
+
// TASK-849 (DEC-2084): the three doors print the kernel's one line; a cross-lead refusal gets the release command appended.
|
|
72
|
+
describe('TASK-849: release, accept and refuse', () => {
|
|
73
|
+
let out;
|
|
74
|
+
beforeEach(() => {
|
|
75
|
+
out = [];
|
|
76
|
+
vi.spyOn(process.stdout, 'write').mockImplementation((chunk) => { out.push(String(chunk)); return true; });
|
|
77
|
+
});
|
|
78
|
+
it('release prints the pending line, and says which release it replaced', async () => {
|
|
79
|
+
kernelCallWithSession.mockResolvedValueOnce({ outcome: 'applied', operation: 'hierarchy.release', child: 'ROL-3', parent: 'TEAM-1', replaced: null,
|
|
80
|
+
line: 'Moving to Product Brain: waits for Randy Hereman to accept.' });
|
|
81
|
+
await runHierarchyRelease('ROL-3', { to: 'TEAM-1' });
|
|
82
|
+
expect(kernelCallWithSession).toHaveBeenCalledWith('organisation.hierarchy.release', { childRef: 'ROL-3', toParentRef: 'TEAM-1', sessionId: 'session-1' });
|
|
83
|
+
kernelCallWithSession.mockResolvedValueOnce({ outcome: 'applied', operation: 'hierarchy.release', child: 'ROL-3', parent: 'TEAM-1', replaced: 'Product',
|
|
84
|
+
line: 'Moving to Product Brain: waits for Randy Hereman to accept.' });
|
|
85
|
+
await runHierarchyRelease('ROL-3', { to: 'TEAM-1' });
|
|
86
|
+
expect(out).toEqual([
|
|
87
|
+
'Moving to Product Brain: waits for Randy Hereman to accept.\n',
|
|
88
|
+
'Moving to Product Brain: waits for Randy Hereman to accept. It replaces the release toward Product.\n',
|
|
89
|
+
]);
|
|
90
|
+
});
|
|
91
|
+
it('a no-op set prints that nothing moved and that the release still waits', async () => {
|
|
92
|
+
kernelCallWithSession.mockResolvedValueOnce({ outcome: 'applied', operation: 'hierarchy.set', changed: false, child: 'ROL-3', parent: 'TEAM-2',
|
|
93
|
+
line: 'Nothing moved, so the release toward Product Brain still waits for its accept.' });
|
|
94
|
+
await runHierarchySet('ROL-3', { parent: 'TEAM-2' });
|
|
95
|
+
expect(out).toEqual(['ROL-3 already has the requested parent state; nothing changed. Nothing moved, so the release toward Product Brain still waits for its accept.\n']);
|
|
96
|
+
});
|
|
97
|
+
it('accept and refuse print what happened', async () => {
|
|
98
|
+
kernelCallWithSession.mockResolvedValueOnce({ outcome: 'applied', operation: 'hierarchy.set', changed: true, child: 'ROL-3', parent: 'TEAM-1',
|
|
99
|
+
line: 'Researcher moved to Product Brain.' });
|
|
100
|
+
await runHierarchyAccept('ROL-3');
|
|
101
|
+
expect(kernelCallWithSession).toHaveBeenLastCalledWith('organisation.hierarchy.accept', { childRef: 'ROL-3', sessionId: 'session-1' });
|
|
102
|
+
kernelCallWithSession.mockResolvedValueOnce({ outcome: 'applied', operation: 'hierarchy.refuse', child: 'ROL-3', parent: 'TEAM-1', tension: 'TEN-9',
|
|
103
|
+
line: 'Researcher stays in Product. The tension (TEN-9) goes to its Team Lead.' });
|
|
104
|
+
await runHierarchyRefuse('ROL-3', { why: 'No room.' });
|
|
105
|
+
expect(kernelCallWithSession).toHaveBeenLastCalledWith('organisation.hierarchy.refuse', { childRef: 'ROL-3', why: 'No room.', sessionId: 'session-1' });
|
|
106
|
+
expect(out).toEqual(['Researcher moved to Product Brain.\n', 'Researcher stays in Product. The tension (TEN-9) goes to its Team Lead.\n']);
|
|
107
|
+
});
|
|
108
|
+
it('a cross-lead set refusal appends the release command; any other refusal does not', async () => {
|
|
109
|
+
kernelCallWithSession.mockResolvedValueOnce({ outcome: 'refused', refusal: {
|
|
110
|
+
code: 'cross_lead_release_required', reason: 'Researcher moves from Product to Product Brain by release then accept.',
|
|
111
|
+
requiredAction: 'As Team Lead of Product, release it toward Product Brain.',
|
|
112
|
+
} });
|
|
113
|
+
await expect(runHierarchySet('ROL-3', { parent: 'TEAM-1' })).rejects.toMatchObject({
|
|
114
|
+
guidance: 'As Team Lead of Product, release it toward Product Brain. Run: pb organisation hierarchy release ROL-3 --to TEAM-1',
|
|
115
|
+
});
|
|
116
|
+
// clear names no target team, so it gets no command: a placeholder is not a runnable command (Codex round 1).
|
|
117
|
+
kernelCallWithSession.mockResolvedValueOnce({ outcome: 'refused', refusal: {
|
|
118
|
+
code: 'cross_lead_release_required', reason: 'Researcher moves from Product to Product Brain by release then accept.',
|
|
119
|
+
requiredAction: 'As Team Lead of Product, release it toward Product Brain.',
|
|
120
|
+
} });
|
|
121
|
+
await expect(runHierarchyClear('ROL-3')).rejects.toMatchObject({ guidance: 'As Team Lead of Product, release it toward Product Brain.' });
|
|
122
|
+
kernelCallWithSession.mockResolvedValueOnce({ outcome: 'refused', refusal: {
|
|
123
|
+
code: 'no_pending_move', reason: 'Researcher has no move waiting for an accept.', requiredAction: 'Ask the Team Lead of its team to release it first.',
|
|
124
|
+
} });
|
|
125
|
+
await expect(runHierarchyAccept('ROL-3')).rejects.toMatchObject({
|
|
126
|
+
guidance: 'Ask the Team Lead of its team to release it first.', code: 'VALIDATION_FAILED', category: 'validation',
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
});
|
|
71
130
|
});
|
|
72
131
|
//# sourceMappingURL=organisationHierarchy.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organisationHierarchy.test.js","sourceRoot":"","sources":["../../src/commands/organisationHierarchy.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"organisationHierarchy.test.js","sourceRoot":"","sources":["../../src/commands/organisationHierarchy.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,8 @@ export declare function runOrganisationWrite<T extends OrganisationWriteResult>(
|
|
|
13
13
|
sessionId: string;
|
|
14
14
|
}) => Promise<T>, formatApplied: (result: Extract<T, {
|
|
15
15
|
outcome: 'applied';
|
|
16
|
-
}>) => string
|
|
16
|
+
}>) => string,
|
|
17
|
+
/** A command hint the CLI appends to a refusal's own sentence, as formatting (DEC-1994). */
|
|
18
|
+
hint?: (code: string) => string | undefined): Promise<void>;
|
|
17
19
|
export {};
|
|
18
20
|
//# sourceMappingURL=organisationWrite.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organisationWrite.d.ts","sourceRoot":"","sources":["../../src/commands/organisationWrite.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"organisationWrite.d.ts","sourceRoot":"","sources":["../../src/commands/organisationWrite.ts"],"names":[],"mappings":"AAOA,KAAK,uBAAuB,GACzB;IAAE,OAAO,EAAE,SAAS,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAC9C;IACA,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClE,CAAC;AAcL,wBAAsB,oBAAoB,CAAC,CAAC,SAAS,uBAAuB,EAC3E,IAAI,EAAE,CAAC,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,CAAC,CAAC,EACpD,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE;IAAE,OAAO,EAAE,SAAS,CAAA;CAAE,CAAC,KAAK,MAAM;AACrE,4FAA4F;AAC5F,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GACzC,OAAO,CAAC,IAAI,CAAC,CAiBf"}
|
|
@@ -3,41 +3,7 @@ import { CLIError, ErrorCode } from '../lib/errors.js';
|
|
|
3
3
|
import { isJsonMode } from '../lib/runner.js';
|
|
4
4
|
import { readSession } from '../lib/session.js';
|
|
5
5
|
import { emitEffectiveTenantNotice } from '../lib/workspaceNotice.js';
|
|
6
|
-
|
|
7
|
-
// separate sources, not one kernel union the generate-kernel-value-sets.mjs chassis could
|
|
8
|
-
// derive a single TARGETS row from (round 1's fix for client.ts's ORGANISATIONAL_AUTHORITY_
|
|
9
|
-
// REFUSAL_CODES worked because that was ONE kernel union; this set is not):
|
|
10
|
-
// - `duplicate_membership` — kernel/organisationalAuthority/managementTypes.ts's
|
|
11
|
-
// `OrganisationManagementDecision` refuse-code union (also re-exposed on
|
|
12
|
-
// `TeamHierarchyDecision` via `Exclude<OrganisationManagementDecision, ...>['code']`).
|
|
13
|
-
// - `child_team_invalid`, `parent_team_invalid`, `existing_parent_invalid`,
|
|
14
|
-
// `hierarchy_ambiguous`, `self_parent`, `hierarchy_cycle`, `hierarchy_too_deep`,
|
|
15
|
-
// `hierarchy_too_large`, `hierarchy_repair_required`, `archived_parent_authority_invalid` —
|
|
16
|
-
// kernel/organisationalAuthority/hierarchyTypes.ts's `TeamHierarchyDecision` refuse-code
|
|
17
|
-
// union (which also carries an 11th, `archived_parent_team_lead_required`, deliberately NOT
|
|
18
|
-
// in this Set — it IS an authority refusal, correctly routed below to AUTH_DENIED/'auth',
|
|
19
|
-
// not a validation gap to fix).
|
|
20
|
-
// - `last_team_lead` — NOT a kernel type at all: a Convex-adapter-only code
|
|
21
|
-
// (convex/governance/organisationResources.ts:32), so no kernel runtime const can cover it.
|
|
22
|
-
// - `role_still_held` — likewise Convex-adapter-only (convex/governance/organisationHierarchy.ts's
|
|
23
|
-
// role-move refusal, TASK-426), so no kernel runtime const can cover it either.
|
|
24
|
-
// Per the coordinator's ruling: a merged generated list would be invented, not derived — this
|
|
25
|
-
// stays a hand-maintained Set with its provenance named, not a TARGETS row.
|
|
26
|
-
const VALIDATION_REFUSALS = new Set([
|
|
27
|
-
'duplicate_membership',
|
|
28
|
-
'last_team_lead',
|
|
29
|
-
'child_team_invalid',
|
|
30
|
-
'parent_team_invalid',
|
|
31
|
-
'existing_parent_invalid',
|
|
32
|
-
'hierarchy_ambiguous',
|
|
33
|
-
'self_parent',
|
|
34
|
-
'hierarchy_cycle',
|
|
35
|
-
'hierarchy_too_deep',
|
|
36
|
-
'hierarchy_too_large',
|
|
37
|
-
'hierarchy_repair_required',
|
|
38
|
-
'archived_parent_authority_invalid',
|
|
39
|
-
'role_still_held',
|
|
40
|
-
]);
|
|
6
|
+
import { ORGANISATION_VALIDATION_REFUSALS } from '../lib/seatSentence.js';
|
|
41
7
|
function requireSessionId() {
|
|
42
8
|
const session = readSession();
|
|
43
9
|
if (!session) {
|
|
@@ -49,18 +15,22 @@ function requireSessionId() {
|
|
|
49
15
|
}
|
|
50
16
|
return session.sessionId;
|
|
51
17
|
}
|
|
52
|
-
export async function runOrganisationWrite(call, formatApplied
|
|
18
|
+
export async function runOrganisationWrite(call, formatApplied,
|
|
19
|
+
/** A command hint the CLI appends to a refusal's own sentence, as formatting (DEC-1994). */
|
|
20
|
+
hint) {
|
|
53
21
|
const sessionId = requireSessionId();
|
|
54
22
|
await emitEffectiveTenantNotice();
|
|
55
23
|
const result = await call({ sessionId });
|
|
56
24
|
if (result.outcome === 'refused') {
|
|
57
25
|
if (isJsonMode())
|
|
58
26
|
process.stdout.write(`${JSON.stringify(result)}\n`);
|
|
59
|
-
const validation =
|
|
27
|
+
const validation = ORGANISATION_VALIDATION_REFUSALS.has(result.refusal.code);
|
|
28
|
+
const guidance = result.refusal.requiredAction ?? 'Ask the relevant Team Lead to make this change.';
|
|
29
|
+
const command = hint?.(result.refusal.code);
|
|
60
30
|
throw new CLIError(result.refusal.reason, {
|
|
61
31
|
code: validation ? ErrorCode.VALIDATION_FAILED : ErrorCode.AUTH_DENIED,
|
|
62
32
|
category: validation ? 'validation' : 'auth',
|
|
63
|
-
guidance:
|
|
33
|
+
guidance: command ? `${guidance} ${command}` : guidance,
|
|
64
34
|
});
|
|
65
35
|
}
|
|
66
36
|
if (isJsonMode())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organisationWrite.js","sourceRoot":"","sources":["../../src/commands/organisationWrite.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"organisationWrite.js","sourceRoot":"","sources":["../../src/commands/organisationWrite.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAS1E,SAAS,gBAAgB;IACxB,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,QAAQ,CAAC,oBAAoB,EAAE;YACxC,IAAI,EAAE,SAAS,CAAC,gBAAgB;YAChC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,gFAAgF;SAC1F,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,SAAS,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,IAAoD,EACpD,aAAqE;AACrE,4FAA4F;AAC5F,IAA2C;IAE3C,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,MAAM,yBAAyB,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,UAAU,EAAE;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,gCAAgC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,IAAI,iDAAiD,CAAC;QACpG,MAAM,OAAO,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;YACzC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW;YACtE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM;YAC5C,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ;SACvD,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,EAAE;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;;QACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,MAA4C,CAAC,IAAI,CAAC,CAAC;AAC/F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routeLatencyBudget.generated.d.ts","sourceRoot":"","sources":["../../src/generated/routeLatencyBudget.generated.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE/D,qEAAqE;AACrE,eAAO,MAAM,uBAAuB;;;;CAI1B,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC;;;CAgBnC,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,EAAE,MAG5C,CAAC;
|
|
1
|
+
{"version":3,"file":"routeLatencyBudget.generated.d.ts","sourceRoot":"","sources":["../../src/generated/routeLatencyBudget.generated.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE/D,qEAAqE;AACrE,eAAO,MAAM,uBAAuB;;;;CAI1B,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC;;;CAgBnC,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,EAAE,MAG5C,CAAC;AAkLF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAGzE,CAAC;AAEF,oFAAoF;AACpF,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAE1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CASjE"}
|
|
@@ -226,6 +226,9 @@ const ROUTE_TYPE_ENTRIES = {
|
|
|
226
226
|
"people.list": "query",
|
|
227
227
|
"llm.dailyBudget": "query",
|
|
228
228
|
"chain.search": "query",
|
|
229
|
+
"organisation.hierarchy.release": "mutation",
|
|
230
|
+
"organisation.hierarchy.accept": "mutation",
|
|
231
|
+
"organisation.hierarchy.refuse": "mutation",
|
|
229
232
|
};
|
|
230
233
|
/**
|
|
231
234
|
* NULL-PROTOTYPE, deliberately (PR #533 review, Codex P2).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routeLatencyBudget.generated.js","sourceRoot":"","sources":["../../src/generated/routeLatencyBudget.generated.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAC/G,gEAAgE;AAChE,iEAAiE;AACjE,EAAE;AACF,wFAAwF;AACxF,uFAAuF;AACvF,wFAAwF;AACxF,uEAAuE;AACvE,EAAE;AACF,sFAAsF;AACtF,wFAAwF;AACxF,qFAAqF;AACrF,kFAAkF;AAClF,EAAE;AACF,oFAAoF;AACpF,wFAAwF;AACxF,uFAAuF;AACvF,gFAAgF;AAChF,4CAA4C;AAI5C,qEAAqE;AACrE,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACtC,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,MAAM;CACL,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC/C,2FAA2F;IAC3F,wFAAwF;IACxF,wFAAwF;IACxF,sFAAsF;IACtF,4EAA4E;IAC5E,oBAAoB,EAAE,OAAO;IAC7B,yFAAyF;IACzF,6EAA6E;IAC7E,4FAA4F;IAC5F,yFAAyF;IACzF,2FAA2F;IAC3F,yFAAyF;IACzF,mFAAmF;IACnF,yEAAyE;IACzE,iBAAiB,EAAE,OAAO;CACjB,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAW,IAAI,CAAC,GAAG,CAC7D,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,EACzC,GAAG,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAClD,CAAC;AAEF,kFAAkF;AAClF,MAAM,kBAAkB,GAA+C;IACtE,kBAAkB,EAAE,OAAO;IAC3B,iBAAiB,EAAE,UAAU;IAC7B,kBAAkB,EAAE,OAAO;IAC3B,eAAe,EAAE,OAAO;IACxB,eAAe,EAAE,QAAQ;IACzB,gBAAgB,EAAE,QAAQ;IAC1B,iBAAiB,EAAE,QAAQ;IAC3B,qBAAqB,EAAE,OAAO;IAC9B,+BAA+B,EAAE,UAAU;IAC3C,2BAA2B,EAAE,UAAU;IACvC,6BAA6B,EAAE,OAAO;IACtC,kCAAkC,EAAE,UAAU;IAC9C,oCAAoC,EAAE,UAAU;IAChD,sBAAsB,EAAE,UAAU;IAClC,qBAAqB,EAAE,UAAU;IACjC,mBAAmB,EAAE,OAAO;IAC5B,YAAY,EAAE,UAAU;IACxB,uBAAuB,EAAE,OAAO;IAChC,qBAAqB,EAAE,OAAO;IAC9B,2BAA2B,EAAE,OAAO;IACpC,wBAAwB,EAAE,OAAO;IACjC,yBAAyB,EAAE,OAAO;IAClC,wBAAwB,EAAE,UAAU;IACpC,mBAAmB,EAAE,OAAO;IAC5B,wBAAwB,EAAE,OAAO;IACjC,gBAAgB,EAAE,OAAO;IACzB,sBAAsB,EAAE,OAAO;IAC/B,kBAAkB,EAAE,OAAO;IAC3B,yBAAyB,EAAE,OAAO;IAClC,uBAAuB,EAAE,OAAO;IAChC,mBAAmB,EAAE,QAAQ;IAC7B,mBAAmB,EAAE,UAAU;IAC/B,4BAA4B,EAAE,UAAU;IACxC,wBAAwB,EAAE,UAAU;IACpC,wBAAwB,EAAE,UAAU;IACpC,uBAAuB,EAAE,OAAO;IAChC,sBAAsB,EAAE,OAAO;IAC/B,gBAAgB,EAAE,OAAO;IACzB,mBAAmB,EAAE,UAAU;IAC/B,mBAAmB,EAAE,OAAO;IAC5B,kBAAkB,EAAE,UAAU;IAC9B,qBAAqB,EAAE,UAAU;IACjC,gBAAgB,EAAE,OAAO;IACzB,mBAAmB,EAAE,QAAQ;IAC7B,iBAAiB,EAAE,UAAU;IAC7B,iBAAiB,EAAE,UAAU;IAC7B,iBAAiB,EAAE,UAAU;IAC7B,iBAAiB,EAAE,UAAU;IAC7B,qBAAqB,EAAE,UAAU;IACjC,eAAe,EAAE,OAAO;IACxB,0BAA0B,EAAE,QAAQ;IACpC,gCAAgC,EAAE,OAAO;IACzC,8BAA8B,EAAE,OAAO;IACvC,yBAAyB,EAAE,QAAQ;IACnC,qBAAqB,EAAE,OAAO;IAC9B,6BAA6B,EAAE,OAAO;IACtC,mBAAmB,EAAE,UAAU;IAC/B,mBAAmB,EAAE,UAAU;IAC/B,oBAAoB,EAAE,UAAU;IAChC,yBAAyB,EAAE,UAAU;IACrC,gCAAgC,EAAE,UAAU;IAC5C,wBAAwB,EAAE,OAAO;IACjC,yBAAyB,EAAE,OAAO;IAClC,2BAA2B,EAAE,UAAU;IACvC,4BAA4B,EAAE,UAAU;IACxC,2BAA2B,EAAE,UAAU;IACvC,wBAAwB,EAAE,QAAQ;IAClC,iCAAiC,EAAE,QAAQ;IAC3C,0BAA0B,EAAE,OAAO;IACnC,yBAAyB,EAAE,OAAO;IAClC,mCAAmC,EAAE,OAAO;IAC5C,0BAA0B,EAAE,OAAO;IACnC,qBAAqB,EAAE,OAAO;IAC9B,wBAAwB,EAAE,OAAO;IACjC,mCAAmC,EAAE,QAAQ;IAC7C,+BAA+B,EAAE,QAAQ;IACzC,gCAAgC,EAAE,QAAQ;IAC1C,0BAA0B,EAAE,OAAO;IACnC,4BAA4B,EAAE,OAAO;IACrC,oBAAoB,EAAE,OAAO;IAC7B,uBAAuB,EAAE,OAAO;IAChC,6BAA6B,EAAE,OAAO;IACtC,+BAA+B,EAAE,QAAQ;IACzC,8BAA8B,EAAE,OAAO;IACvC,iCAAiC,EAAE,OAAO;IAC1C,0BAA0B,EAAE,OAAO;IACnC,gCAAgC,EAAE,QAAQ;IAC1C,oCAAoC,EAAE,QAAQ;IAC9C,uBAAuB,EAAE,OAAO;IAChC,4BAA4B,EAAE,OAAO;IACrC,qBAAqB,EAAE,QAAQ;IAC/B,sBAAsB,EAAE,UAAU;IAClC,uBAAuB,EAAE,OAAO;IAChC,0BAA0B,EAAE,OAAO;IACnC,qBAAqB,EAAE,QAAQ;IAC/B,2BAA2B,EAAE,UAAU;IACvC,0BAA0B,EAAE,OAAO;IACnC,wBAAwB,EAAE,OAAO;IACjC,0BAA0B,EAAE,OAAO;IACnC,8BAA8B,EAAE,UAAU;IAC1C,eAAe,EAAE,OAAO;IACxB,iBAAiB,EAAE,QAAQ;IAC3B,+BAA+B,EAAE,OAAO;IACxC,sBAAsB,EAAE,QAAQ;IAChC,wBAAwB,EAAE,OAAO;IACjC,qBAAqB,EAAE,QAAQ;IAC/B,yBAAyB,EAAE,OAAO;IAClC,kCAAkC,EAAE,QAAQ;IAC5C,0BAA0B,EAAE,OAAO;IACnC,qBAAqB,EAAE,OAAO;IAC9B,gBAAgB,EAAE,QAAQ;IAC1B,eAAe,EAAE,UAAU;IAC3B,kBAAkB,EAAE,OAAO;IAC3B,mBAAmB,EAAE,UAAU;IAC/B,mBAAmB,EAAE,UAAU;IAC/B,mBAAmB,EAAE,UAAU;IAC/B,kBAAkB,EAAE,UAAU;IAC9B,mBAAmB,EAAE,UAAU;IAC/B,0BAA0B,EAAE,OAAO;IACnC,aAAa,EAAE,UAAU;IACzB,cAAc,EAAE,UAAU;IAC1B,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,OAAO;IACrB,oBAAoB,EAAE,UAAU;IAChC,qBAAqB,EAAE,UAAU;IACjC,oBAAoB,EAAE,UAAU;IAChC,oBAAoB,EAAE,UAAU;IAChC,oBAAoB,EAAE,UAAU;IAChC,sBAAsB,EAAE,UAAU;IAClC,kBAAkB,EAAE,OAAO;IAC3B,wBAAwB,EAAE,OAAO;IACjC,qBAAqB,EAAE,OAAO;IAC9B,wBAAwB,EAAE,OAAO;IACjC,uBAAuB,EAAE,OAAO;IAChC,wBAAwB,EAAE,OAAO;IACjC,oBAAoB,EAAE,UAAU;IAChC,0BAA0B,EAAE,UAAU;IACtC,oBAAoB,EAAE,OAAO;IAC7B,wBAAwB,EAAE,OAAO;IACjC,2BAA2B,EAAE,OAAO;IACpC,sCAAsC,EAAE,UAAU;IAClD,yBAAyB,EAAE,UAAU;IACrC,0BAA0B,EAAE,OAAO;IACnC,kCAAkC,EAAE,OAAO;IAC3C,oBAAoB,EAAE,QAAQ;IAC9B,4BAA4B,EAAE,UAAU;IACxC,+BAA+B,EAAE,OAAO;IACxC,gBAAgB,EAAE,OAAO;IACzB,kBAAkB,EAAE,OAAO;IAC3B,qBAAqB,EAAE,OAAO;IAC9B,8BAA8B,EAAE,OAAO;IACvC,4BAA4B,EAAE,OAAO;IACrC,+BAA+B,EAAE,OAAO;IACxC,4BAA4B,EAAE,OAAO;IACrC,4BAA4B,EAAE,OAAO;IACrC,0BAA0B,EAAE,OAAO;IACnC,gCAAgC,EAAE,OAAO;IACzC,oCAAoC,EAAE,UAAU;IAChD,+BAA+B,EAAE,QAAQ;IACzC,gCAAgC,EAAE,OAAO;IACzC,gCAAgC,EAAE,OAAO;IACzC,8CAA8C,EAAE,QAAQ;IACxD,yBAAyB,EAAE,UAAU;IACrC,6BAA6B,EAAE,UAAU;IACzC,0BAA0B,EAAE,UAAU;IACtC,eAAe,EAAE,UAAU;IAC3B,aAAa,EAAE,OAAO;IACtB,iBAAiB,EAAE,OAAO;IAC1B,cAAc,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"routeLatencyBudget.generated.js","sourceRoot":"","sources":["../../src/generated/routeLatencyBudget.generated.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAC/G,gEAAgE;AAChE,iEAAiE;AACjE,EAAE;AACF,wFAAwF;AACxF,uFAAuF;AACvF,wFAAwF;AACxF,uEAAuE;AACvE,EAAE;AACF,sFAAsF;AACtF,wFAAwF;AACxF,qFAAqF;AACrF,kFAAkF;AAClF,EAAE;AACF,oFAAoF;AACpF,wFAAwF;AACxF,uFAAuF;AACvF,gFAAgF;AAChF,4CAA4C;AAI5C,qEAAqE;AACrE,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACtC,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,MAAM;CACL,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC/C,2FAA2F;IAC3F,wFAAwF;IACxF,wFAAwF;IACxF,sFAAsF;IACtF,4EAA4E;IAC5E,oBAAoB,EAAE,OAAO;IAC7B,yFAAyF;IACzF,6EAA6E;IAC7E,4FAA4F;IAC5F,yFAAyF;IACzF,2FAA2F;IAC3F,yFAAyF;IACzF,mFAAmF;IACnF,yEAAyE;IACzE,iBAAiB,EAAE,OAAO;CACjB,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAW,IAAI,CAAC,GAAG,CAC7D,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,EACzC,GAAG,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAClD,CAAC;AAEF,kFAAkF;AAClF,MAAM,kBAAkB,GAA+C;IACtE,kBAAkB,EAAE,OAAO;IAC3B,iBAAiB,EAAE,UAAU;IAC7B,kBAAkB,EAAE,OAAO;IAC3B,eAAe,EAAE,OAAO;IACxB,eAAe,EAAE,QAAQ;IACzB,gBAAgB,EAAE,QAAQ;IAC1B,iBAAiB,EAAE,QAAQ;IAC3B,qBAAqB,EAAE,OAAO;IAC9B,+BAA+B,EAAE,UAAU;IAC3C,2BAA2B,EAAE,UAAU;IACvC,6BAA6B,EAAE,OAAO;IACtC,kCAAkC,EAAE,UAAU;IAC9C,oCAAoC,EAAE,UAAU;IAChD,sBAAsB,EAAE,UAAU;IAClC,qBAAqB,EAAE,UAAU;IACjC,mBAAmB,EAAE,OAAO;IAC5B,YAAY,EAAE,UAAU;IACxB,uBAAuB,EAAE,OAAO;IAChC,qBAAqB,EAAE,OAAO;IAC9B,2BAA2B,EAAE,OAAO;IACpC,wBAAwB,EAAE,OAAO;IACjC,yBAAyB,EAAE,OAAO;IAClC,wBAAwB,EAAE,UAAU;IACpC,mBAAmB,EAAE,OAAO;IAC5B,wBAAwB,EAAE,OAAO;IACjC,gBAAgB,EAAE,OAAO;IACzB,sBAAsB,EAAE,OAAO;IAC/B,kBAAkB,EAAE,OAAO;IAC3B,yBAAyB,EAAE,OAAO;IAClC,uBAAuB,EAAE,OAAO;IAChC,mBAAmB,EAAE,QAAQ;IAC7B,mBAAmB,EAAE,UAAU;IAC/B,4BAA4B,EAAE,UAAU;IACxC,wBAAwB,EAAE,UAAU;IACpC,wBAAwB,EAAE,UAAU;IACpC,uBAAuB,EAAE,OAAO;IAChC,sBAAsB,EAAE,OAAO;IAC/B,gBAAgB,EAAE,OAAO;IACzB,mBAAmB,EAAE,UAAU;IAC/B,mBAAmB,EAAE,OAAO;IAC5B,kBAAkB,EAAE,UAAU;IAC9B,qBAAqB,EAAE,UAAU;IACjC,gBAAgB,EAAE,OAAO;IACzB,mBAAmB,EAAE,QAAQ;IAC7B,iBAAiB,EAAE,UAAU;IAC7B,iBAAiB,EAAE,UAAU;IAC7B,iBAAiB,EAAE,UAAU;IAC7B,iBAAiB,EAAE,UAAU;IAC7B,qBAAqB,EAAE,UAAU;IACjC,eAAe,EAAE,OAAO;IACxB,0BAA0B,EAAE,QAAQ;IACpC,gCAAgC,EAAE,OAAO;IACzC,8BAA8B,EAAE,OAAO;IACvC,yBAAyB,EAAE,QAAQ;IACnC,qBAAqB,EAAE,OAAO;IAC9B,6BAA6B,EAAE,OAAO;IACtC,mBAAmB,EAAE,UAAU;IAC/B,mBAAmB,EAAE,UAAU;IAC/B,oBAAoB,EAAE,UAAU;IAChC,yBAAyB,EAAE,UAAU;IACrC,gCAAgC,EAAE,UAAU;IAC5C,wBAAwB,EAAE,OAAO;IACjC,yBAAyB,EAAE,OAAO;IAClC,2BAA2B,EAAE,UAAU;IACvC,4BAA4B,EAAE,UAAU;IACxC,2BAA2B,EAAE,UAAU;IACvC,wBAAwB,EAAE,QAAQ;IAClC,iCAAiC,EAAE,QAAQ;IAC3C,0BAA0B,EAAE,OAAO;IACnC,yBAAyB,EAAE,OAAO;IAClC,mCAAmC,EAAE,OAAO;IAC5C,0BAA0B,EAAE,OAAO;IACnC,qBAAqB,EAAE,OAAO;IAC9B,wBAAwB,EAAE,OAAO;IACjC,mCAAmC,EAAE,QAAQ;IAC7C,+BAA+B,EAAE,QAAQ;IACzC,gCAAgC,EAAE,QAAQ;IAC1C,0BAA0B,EAAE,OAAO;IACnC,4BAA4B,EAAE,OAAO;IACrC,oBAAoB,EAAE,OAAO;IAC7B,uBAAuB,EAAE,OAAO;IAChC,6BAA6B,EAAE,OAAO;IACtC,+BAA+B,EAAE,QAAQ;IACzC,8BAA8B,EAAE,OAAO;IACvC,iCAAiC,EAAE,OAAO;IAC1C,0BAA0B,EAAE,OAAO;IACnC,gCAAgC,EAAE,QAAQ;IAC1C,oCAAoC,EAAE,QAAQ;IAC9C,uBAAuB,EAAE,OAAO;IAChC,4BAA4B,EAAE,OAAO;IACrC,qBAAqB,EAAE,QAAQ;IAC/B,sBAAsB,EAAE,UAAU;IAClC,uBAAuB,EAAE,OAAO;IAChC,0BAA0B,EAAE,OAAO;IACnC,qBAAqB,EAAE,QAAQ;IAC/B,2BAA2B,EAAE,UAAU;IACvC,0BAA0B,EAAE,OAAO;IACnC,wBAAwB,EAAE,OAAO;IACjC,0BAA0B,EAAE,OAAO;IACnC,8BAA8B,EAAE,UAAU;IAC1C,eAAe,EAAE,OAAO;IACxB,iBAAiB,EAAE,QAAQ;IAC3B,+BAA+B,EAAE,OAAO;IACxC,sBAAsB,EAAE,QAAQ;IAChC,wBAAwB,EAAE,OAAO;IACjC,qBAAqB,EAAE,QAAQ;IAC/B,yBAAyB,EAAE,OAAO;IAClC,kCAAkC,EAAE,QAAQ;IAC5C,0BAA0B,EAAE,OAAO;IACnC,qBAAqB,EAAE,OAAO;IAC9B,gBAAgB,EAAE,QAAQ;IAC1B,eAAe,EAAE,UAAU;IAC3B,kBAAkB,EAAE,OAAO;IAC3B,mBAAmB,EAAE,UAAU;IAC/B,mBAAmB,EAAE,UAAU;IAC/B,mBAAmB,EAAE,UAAU;IAC/B,kBAAkB,EAAE,UAAU;IAC9B,mBAAmB,EAAE,UAAU;IAC/B,0BAA0B,EAAE,OAAO;IACnC,aAAa,EAAE,UAAU;IACzB,cAAc,EAAE,UAAU;IAC1B,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,OAAO;IACrB,oBAAoB,EAAE,UAAU;IAChC,qBAAqB,EAAE,UAAU;IACjC,oBAAoB,EAAE,UAAU;IAChC,oBAAoB,EAAE,UAAU;IAChC,oBAAoB,EAAE,UAAU;IAChC,sBAAsB,EAAE,UAAU;IAClC,kBAAkB,EAAE,OAAO;IAC3B,wBAAwB,EAAE,OAAO;IACjC,qBAAqB,EAAE,OAAO;IAC9B,wBAAwB,EAAE,OAAO;IACjC,uBAAuB,EAAE,OAAO;IAChC,wBAAwB,EAAE,OAAO;IACjC,oBAAoB,EAAE,UAAU;IAChC,0BAA0B,EAAE,UAAU;IACtC,oBAAoB,EAAE,OAAO;IAC7B,wBAAwB,EAAE,OAAO;IACjC,2BAA2B,EAAE,OAAO;IACpC,sCAAsC,EAAE,UAAU;IAClD,yBAAyB,EAAE,UAAU;IACrC,0BAA0B,EAAE,OAAO;IACnC,kCAAkC,EAAE,OAAO;IAC3C,oBAAoB,EAAE,QAAQ;IAC9B,4BAA4B,EAAE,UAAU;IACxC,+BAA+B,EAAE,OAAO;IACxC,gBAAgB,EAAE,OAAO;IACzB,kBAAkB,EAAE,OAAO;IAC3B,qBAAqB,EAAE,OAAO;IAC9B,8BAA8B,EAAE,OAAO;IACvC,4BAA4B,EAAE,OAAO;IACrC,+BAA+B,EAAE,OAAO;IACxC,4BAA4B,EAAE,OAAO;IACrC,4BAA4B,EAAE,OAAO;IACrC,0BAA0B,EAAE,OAAO;IACnC,gCAAgC,EAAE,OAAO;IACzC,oCAAoC,EAAE,UAAU;IAChD,+BAA+B,EAAE,QAAQ;IACzC,gCAAgC,EAAE,OAAO;IACzC,gCAAgC,EAAE,OAAO;IACzC,8CAA8C,EAAE,QAAQ;IACxD,yBAAyB,EAAE,UAAU;IACrC,6BAA6B,EAAE,UAAU;IACzC,0BAA0B,EAAE,UAAU;IACtC,eAAe,EAAE,UAAU;IAC3B,aAAa,EAAE,OAAO;IACtB,iBAAiB,EAAE,OAAO;IAC1B,cAAc,EAAE,OAAO;IACvB,gCAAgC,EAAE,UAAU;IAC5C,+BAA+B,EAAE,UAAU;IAC3C,+BAA+B,EAAE,UAAU;CAC3C,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA+C,MAAM,CAAC,MAAM,CAC1F,MAAM,CAAC,MAAM,CAAC,IAAI,CAAqC,EACvD,kBAAkB,CAClB,CAAC;AAEF,oFAAoF;AACpF,MAAM,UAAU,2BAA2B,CAAC,IAAsB;IACjE,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAiB;IACxD,oFAAoF;IACpF,+EAA+E;IAC/E,iFAAiF;IACjF,IAAI,MAAM,CAAC,MAAM,CAAC,gCAAgC,EAAE,SAAS,CAAC,EAAE,CAAC;QAChE,OAAQ,gCAA2D,CAAC,SAAS,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC3C,OAAO,IAAI,CAAC,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC;AAClF,CAAC"}
|
|
@@ -39,4 +39,7 @@ export interface InviteReply {
|
|
|
39
39
|
inPlace: boolean;
|
|
40
40
|
}
|
|
41
41
|
export declare function formatInviteSentence(reply: InviteReply, clean: (value: string) => string): string;
|
|
42
|
+
/** TASK-849: organisation refusals a caller fixes by changing the input (validation, not authority); `pb` and the MCP
|
|
43
|
+
* `role` tool both classify by this one list. A census across four sources, not a derived union. */
|
|
44
|
+
export declare const ORGANISATION_VALIDATION_REFUSALS: ReadonlySet<string>;
|
|
42
45
|
//# sourceMappingURL=seatSentence.d.ts.map
|
|
@@ -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,CAcxH;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"}
|
|
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,CAcxH;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
|
@@ -22,4 +22,25 @@ export function formatInviteSentence(reply, clean) {
|
|
|
22
22
|
? `Invited ${who} at ${clean(reply.email)}; they keep every role they already hold.`
|
|
23
23
|
: `Invited ${who} at ${clean(reply.email)} as a new person.`;
|
|
24
24
|
}
|
|
25
|
+
/** TASK-849: organisation refusals a caller fixes by changing the input (validation, not authority); `pb` and the MCP
|
|
26
|
+
* `role` tool both classify by this one list. A census across four sources, not a derived union. */
|
|
27
|
+
export const ORGANISATION_VALIDATION_REFUSALS = new Set([
|
|
28
|
+
'duplicate_membership',
|
|
29
|
+
'last_team_lead',
|
|
30
|
+
'child_team_invalid',
|
|
31
|
+
'parent_team_invalid',
|
|
32
|
+
'existing_parent_invalid',
|
|
33
|
+
'hierarchy_ambiguous',
|
|
34
|
+
'self_parent',
|
|
35
|
+
'hierarchy_cycle',
|
|
36
|
+
'hierarchy_too_deep',
|
|
37
|
+
'hierarchy_too_large',
|
|
38
|
+
'hierarchy_repair_required',
|
|
39
|
+
'archived_parent_authority_invalid',
|
|
40
|
+
'role_still_held',
|
|
41
|
+
'move_not_needed',
|
|
42
|
+
'no_pending_move',
|
|
43
|
+
'why_required',
|
|
44
|
+
'role_unplaced',
|
|
45
|
+
]);
|
|
25
46
|
//# sourceMappingURL=seatSentence.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seatSentence.js","sourceRoot":"","sources":["../../src/lib/seatSentence.ts"],"names":[],"mappings":"AAAA,6GAA6G;AAC7G,gEAAgE;AAChE,uDAAuD;AA8BvD,MAAM,UAAU,kBAAkB,CAAC,MAAyB,EAAE,KAAgB,EAAE,KAAgC;IAC/G,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,YAAY,KAAK,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,IAAI,aAAa,GAAG,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC9J,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC5I,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,EAAE,GAAG,CAAC;IACzE,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,IAAI,GAAG,GAAG,EAAE,OAAO,SAAS,OAAO,SAAS,GAAG,CAAC;IACjG,CAAC;IACD,OAAO,KAAK,CAAC,OAAO;QACnB,CAAC,CAAC,YAAY,GAAG,SAAS,SAAS,OAAO,SAAS,GAAG;QACtD,CAAC,CAAC,GAAG,GAAG,iBAAiB,SAAS,OAAO,SAAS,oBAAoB,CAAC;AACzE,CAAC;AAWD,MAAM,UAAU,oBAAoB,CAAC,KAAkB,EAAE,KAAgC;IACxF,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,QAAQ,GAAG,CAAC;IACzD,OAAO,KAAK,CAAC,OAAO;QACnB,CAAC,CAAC,WAAW,GAAG,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,2CAA2C;QACpF,CAAC,CAAC,WAAW,GAAG,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC;AAC/D,CAAC"}
|
|
1
|
+
{"version":3,"file":"seatSentence.js","sourceRoot":"","sources":["../../src/lib/seatSentence.ts"],"names":[],"mappings":"AAAA,6GAA6G;AAC7G,gEAAgE;AAChE,uDAAuD;AA8BvD,MAAM,UAAU,kBAAkB,CAAC,MAAyB,EAAE,KAAgB,EAAE,KAAgC;IAC/G,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,YAAY,KAAK,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,IAAI,aAAa,GAAG,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC9J,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC5I,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,EAAE,GAAG,CAAC;IACzE,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,IAAI,GAAG,GAAG,EAAE,OAAO,SAAS,OAAO,SAAS,GAAG,CAAC;IACjG,CAAC;IACD,OAAO,KAAK,CAAC,OAAO;QACnB,CAAC,CAAC,YAAY,GAAG,SAAS,SAAS,OAAO,SAAS,GAAG;QACtD,CAAC,CAAC,GAAG,GAAG,iBAAiB,SAAS,OAAO,SAAS,oBAAoB,CAAC;AACzE,CAAC;AAWD,MAAM,UAAU,oBAAoB,CAAC,KAAkB,EAAE,KAAgC;IACxF,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,QAAQ,GAAG,CAAC;IACzD,OAAO,KAAK,CAAC,OAAO;QACnB,CAAC,CAAC,WAAW,GAAG,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,2CAA2C;QACpF,CAAC,CAAC,WAAW,GAAG,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC;AAC/D,CAAC;AAED;qGACqG;AACrG,MAAM,CAAC,MAAM,gCAAgC,GAAwB,IAAI,GAAG,CAAC;IAC5E,sBAAsB;IACtB,gBAAgB;IAChB,oBAAoB;IACpB,qBAAqB;IACrB,yBAAyB;IACzB,qBAAqB;IACrB,aAAa;IACb,iBAAiB;IACjB,oBAAoB;IACpB,qBAAqB;IACrB,2BAA2B;IAC3B,mCAAmC;IACnC,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,cAAc;IACd,eAAe;CACf,CAAC,CAAC"}
|