@mmnto/cli 2.2.1 → 2.3.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.
- package/dist/commands/config-drift.test.js +4 -1
- package/dist/commands/config-drift.test.js.map +1 -1
- package/dist/commands/gate-install.d.ts +17 -0
- package/dist/commands/gate-install.d.ts.map +1 -1
- package/dist/commands/gate-install.js +23 -0
- package/dist/commands/gate-install.js.map +1 -1
- package/dist/commands/gate-install.test.js +417 -0
- package/dist/commands/gate-install.test.js.map +1 -1
- package/dist/commands/gate.d.ts +9 -0
- package/dist/commands/gate.d.ts.map +1 -1
- package/dist/commands/gate.js +24 -2
- package/dist/commands/gate.js.map +1 -1
- package/dist/commands/gate.test.js +42 -1
- package/dist/commands/gate.test.js.map +1 -1
- package/dist/commands/init-templates.d.ts +5 -5
- package/dist/commands/init-templates.d.ts.map +1 -1
- package/dist/commands/init-templates.js +730 -79
- package/dist/commands/init-templates.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +8 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/init.test.js +122 -0
- package/dist/commands/init.test.js.map +1 -1
- package/dist/commands/mail-cli-wiring.test.js +58 -2
- package/dist/commands/mail-cli-wiring.test.js.map +1 -1
- package/dist/commands/mail-derive-seat.test.d.ts +28 -0
- package/dist/commands/mail-derive-seat.test.d.ts.map +1 -0
- package/dist/commands/mail-derive-seat.test.js +557 -0
- package/dist/commands/mail-derive-seat.test.js.map +1 -0
- package/dist/commands/mail.d.ts +112 -0
- package/dist/commands/mail.d.ts.map +1 -1
- package/dist/commands/mail.js +189 -0
- package/dist/commands/mail.js.map +1 -1
- package/dist/commands/resolve-threads-cli-wiring.test.d.ts +19 -0
- package/dist/commands/resolve-threads-cli-wiring.test.d.ts.map +1 -0
- package/dist/commands/resolve-threads-cli-wiring.test.js +103 -0
- package/dist/commands/resolve-threads-cli-wiring.test.js.map +1 -0
- package/dist/commands/resolve-threads.d.ts +468 -0
- package/dist/commands/resolve-threads.d.ts.map +1 -0
- package/dist/commands/resolve-threads.js +794 -0
- package/dist/commands/resolve-threads.js.map +1 -0
- package/dist/commands/resolve-threads.test.d.ts +2 -0
- package/dist/commands/resolve-threads.test.d.ts.map +1 -0
- package/dist/commands/resolve-threads.test.js +1121 -0
- package/dist/commands/resolve-threads.test.js.map +1 -0
- package/dist/commands/sync-labels-forms.test.d.ts +7 -4
- package/dist/commands/sync-labels-forms.test.d.ts.map +1 -1
- package/dist/commands/sync-labels-forms.test.js +266 -18
- package/dist/commands/sync-labels-forms.test.js.map +1 -1
- package/dist/index.js +74 -5
- package/dist/index.js.map +1 -1
- package/dist/parsers/bot-identity-parity.test.d.ts +2 -0
- package/dist/parsers/bot-identity-parity.test.d.ts.map +1 -0
- package/dist/parsers/bot-identity-parity.test.js +175 -0
- package/dist/parsers/bot-identity-parity.test.js.map +1 -0
- package/dist/parsers/bot-review-parser.d.ts +8 -5
- package/dist/parsers/bot-review-parser.d.ts.map +1 -1
- package/dist/parsers/bot-review-parser.js +12 -34
- package/dist/parsers/bot-review-parser.js.map +1 -1
- package/package.json +2 -2
|
@@ -31,12 +31,22 @@ function buildMailProgram(handlers) {
|
|
|
31
31
|
.option('--workspace <path>', 'Workspace dir to scan')
|
|
32
32
|
.option('--as <seat>', "Serve exactly this seat's mail")
|
|
33
33
|
.option('--all-seats', 'Serve the full multi-seat union')
|
|
34
|
+
.option('--derive-seat', 'Print the seat this session inherited and poll nothing')
|
|
34
35
|
.action((_opts, cmd) => {
|
|
35
36
|
// EXACT translation from index.ts (#2204 + #2097): optsWithGlobals
|
|
36
37
|
// merges the program-level --json into the subcommand scope, and
|
|
37
38
|
// Commander stores `--as` under `as`; the lib option is `asSeat` —
|
|
38
39
|
// the rename is the drift hazard this mirror exists to sense.
|
|
39
|
-
const { json, recursive, workspace, as: asSeat, allSeats, } = cmd.optsWithGlobals();
|
|
40
|
+
const { json, recursive, workspace, as: asSeat, allSeats, deriveSeat, } = cmd.optsWithGlobals();
|
|
41
|
+
// EXACT translation of the #2801 short-circuit: the derive-seat probe
|
|
42
|
+
// takes the whole action and the poll never runs. `json` rides along
|
|
43
|
+
// since the PR's round 1 (the probe answers --json in kind), and the
|
|
44
|
+
// seam test below pins it in BOTH flag orders — the mirror must carry
|
|
45
|
+
// it to sense it.
|
|
46
|
+
if (deriveSeat === true) {
|
|
47
|
+
handlers.deriveSeatCommand({ json, asSeat, allSeats, deriveSeat: true });
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
40
50
|
handlers.mailCommand({ json, recursive, workspace, asSeat, allSeats });
|
|
41
51
|
});
|
|
42
52
|
mailCmd
|
|
@@ -60,7 +70,12 @@ function buildMailProgram(handlers) {
|
|
|
60
70
|
return program;
|
|
61
71
|
}
|
|
62
72
|
function handlers() {
|
|
63
|
-
return {
|
|
73
|
+
return {
|
|
74
|
+
mailCommand: vi.fn(),
|
|
75
|
+
deriveSeatCommand: vi.fn(),
|
|
76
|
+
mailReply: vi.fn(),
|
|
77
|
+
markSource: vi.fn(),
|
|
78
|
+
};
|
|
64
79
|
}
|
|
65
80
|
describe('mail CLI command-surface (Commander wiring, mmnto-ai/totem#2396 + #2204)', () => {
|
|
66
81
|
it('bare `mail` dispatches the poll with no seat selector', () => {
|
|
@@ -84,6 +99,47 @@ describe('mail CLI command-surface (Commander wiring, mmnto-ai/totem#2396 + #220
|
|
|
84
99
|
const opts = h.mailCommand.mock.calls[0][0];
|
|
85
100
|
expect(opts['allSeats']).toBe(true);
|
|
86
101
|
});
|
|
102
|
+
it('`mail --derive-seat` takes the action and the poll never fires (#2801)', () => {
|
|
103
|
+
const h = handlers();
|
|
104
|
+
buildMailProgram(h).parse(['node', 'totem', 'mail', '--derive-seat']);
|
|
105
|
+
expect(h.deriveSeatCommand).toHaveBeenCalledTimes(1);
|
|
106
|
+
expect(h.mailCommand).not.toHaveBeenCalled();
|
|
107
|
+
const opts = h.deriveSeatCommand.mock.calls[0][0];
|
|
108
|
+
expect(opts['deriveSeat']).toBe(true);
|
|
109
|
+
expect(opts['asSeat']).toBeUndefined();
|
|
110
|
+
expect(opts['allSeats']).toBeUndefined();
|
|
111
|
+
});
|
|
112
|
+
it('`mail --derive-seat --as x` reaches the probe WITH the contradicting flag (the lib owns the refusal, #2801)', () => {
|
|
113
|
+
const h = handlers();
|
|
114
|
+
buildMailProgram(h).parse(['node', 'totem', 'mail', '--derive-seat', '--as', 'x']);
|
|
115
|
+
expect(h.deriveSeatCommand).toHaveBeenCalledTimes(1);
|
|
116
|
+
expect(h.mailCommand).not.toHaveBeenCalled();
|
|
117
|
+
// The wiring must not swallow the contradiction — the flag has to LAND on
|
|
118
|
+
// the lib for the exit-2 refusal to fire.
|
|
119
|
+
const opts = h.deriveSeatCommand.mock.calls[0][0];
|
|
120
|
+
expect(opts['asSeat']).toBe('x');
|
|
121
|
+
});
|
|
122
|
+
it('`mail --derive-seat --all-seats` reaches the probe WITH the contradicting flag (#2801)', () => {
|
|
123
|
+
const h = handlers();
|
|
124
|
+
buildMailProgram(h).parse(['node', 'totem', 'mail', '--derive-seat', '--all-seats']);
|
|
125
|
+
expect(h.deriveSeatCommand).toHaveBeenCalledTimes(1);
|
|
126
|
+
const opts = h.deriveSeatCommand.mock.calls[0][0];
|
|
127
|
+
expect(opts['allSeats']).toBe(true);
|
|
128
|
+
});
|
|
129
|
+
it('--json reaches the derive-seat probe in BOTH flag orders (#2097 seam; PR round 1 leg F1)', () => {
|
|
130
|
+
for (const argv of [
|
|
131
|
+
['node', 'totem', '--json', 'mail', '--derive-seat'],
|
|
132
|
+
['node', 'totem', 'mail', '--json', '--derive-seat'],
|
|
133
|
+
]) {
|
|
134
|
+
const h = handlers();
|
|
135
|
+
buildMailProgram(h).parse(argv);
|
|
136
|
+
expect(h.deriveSeatCommand, argv.join(' ')).toHaveBeenCalledTimes(1);
|
|
137
|
+
const opts = h.deriveSeatCommand.mock.calls[0][0];
|
|
138
|
+
expect(opts['json'], argv.join(' ')).toBe(true);
|
|
139
|
+
expect(opts['deriveSeat'], argv.join(' ')).toBe(true);
|
|
140
|
+
expect(h.mailCommand, argv.join(' ')).not.toHaveBeenCalled();
|
|
141
|
+
}
|
|
142
|
+
});
|
|
87
143
|
it('`totem --json mail --as x` merges the program-level --json into the poll opts (#2097 seam)', () => {
|
|
88
144
|
const h = handlers();
|
|
89
145
|
buildMailProgram(h).parse(['node', 'totem', '--json', 'mail', '--as', 'x']);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mail-cli-wiring.test.js","sourceRoot":"","sources":["../../src/commands/mail-cli-wiring.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"mail-cli-wiring.test.js","sourceRoot":"","sources":["../../src/commands/mail-cli-wiring.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `totem mail --derive-seat` — the signon step-0 identity probe
|
|
3
|
+
* (mmnto-ai/totem#2801, ruled design in `.totem/specs/2801.md`
|
|
4
|
+
* § Implementation Design + § Phase 4 rulings R2).
|
|
5
|
+
*
|
|
6
|
+
* The contract under test, verbatim from the design's data-model delta: the
|
|
7
|
+
* command "short-circuits before any poll: it calls `resolveSelfAgents(repoRoot,
|
|
8
|
+
* env)` and prints exactly one line `seat=<id> source=<env|config|dir>` when the
|
|
9
|
+
* resolution is a single seat that `env` supplied and this repo hosts;
|
|
10
|
+
* otherwise a refusal on stderr naming the supplied value (or "unset") and every
|
|
11
|
+
* seat this repo hosts, exit 2. No fallback to any seat, ever."
|
|
12
|
+
*
|
|
13
|
+
* Every `Invariants to lock in via tests` bullet from that design has at least
|
|
14
|
+
* one executed test here:
|
|
15
|
+
* - env unset in a two-seat repo → exit 2, both seats on stderr, stdout empty
|
|
16
|
+
* - env set to a hosted seat → exactly one stdout line, `source=env`, exit 0
|
|
17
|
+
* - env set to an unhosted seat → exit 2, stderr names the value + the list
|
|
18
|
+
* - never reads an outbox or a processed dir (the fs spy below)
|
|
19
|
+
* - `--as` (and `--all-seats`) with `--derive-seat` → contradictory, exit 2
|
|
20
|
+
* plus the design's fourth failure-mode row: a repo hosting no seat at all.
|
|
21
|
+
*
|
|
22
|
+
* Filesystem-driven and hermetic, same fixture idiom as mail.test.ts. The repo
|
|
23
|
+
* basenames are deliberately NON-cohort (`hostrepo`, `barerepo`) so the
|
|
24
|
+
* resolver's hardcoded basename map contributes nothing and the hosted set is
|
|
25
|
+
* exactly the seat dirs this fixture writes.
|
|
26
|
+
*/
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=mail-derive-seat.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail-derive-seat.test.d.ts","sourceRoot":"","sources":["../../src/commands/mail-derive-seat.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG"}
|