mainflow 0.34.0 → 0.35.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/cli.js +81 -9
- package/dist/{dist-IdbnCDqM.js → dist-BdvWGTsb.js} +47 -4
- package/dist/facts.d.ts +67 -13
- package/dist/facts.js +63 -14
- package/dist/grant-commands.d.ts +1 -1
- package/dist/grant-commands.js +1 -1
- package/dist/hooks.d.ts +63 -9
- package/dist/hooks.js +3 -3
- package/dist/{host-79T-_NMu.js → host-bnHYIwuY.js} +476 -199
- package/dist/host.d.ts +9 -0
- package/dist/host.js +2 -2
- package/dist/{index-ihgXABQc.d.ts → index-DgYB5u1f.d.ts} +52 -1
- package/dist/launch-D80CYPcm.js +327 -0
- package/dist/launch.d.ts +50 -4
- package/dist/launch.js +2 -2
- package/dist/native/mainflow-swap-darwin-arm64 +0 -0
- package/dist/native/mainflow-swap-darwin-x64 +0 -0
- package/dist/{operation--fJnUqvA.js → operation-DVcJgKM9.js} +2 -2
- package/dist/{ui-BcXPk-0P.js → ui-C4h4iLDu.js} +132 -12
- package/dist/web/assets/index-BDnlbKcr.js +82 -0
- package/dist/web/assets/index-Z6UfQ6pW.css +1 -0
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/launch-DQVyIbpf.js +0 -205
- package/dist/web/assets/index-CC7l6bNN.css +0 -1
- package/dist/web/assets/index-CDNCPMjD.js +0 -82
package/dist/facts.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as
|
|
1
|
+
import { A as SURVEY_SECTION, D as SESSION_STATUS, M as TASK_SECTIONS, N as UNTIL_FORMS, O as SLUG, P as WORK_STATUS, S as PRIORITIES, T as SERVES_REF, _ as LINK_RELS, a as DECISION_SECTIONS, b as MAINLINE_STATUS, c as DEFAULT_ROLE, d as FORMAT_VERSION, f as GROUP_SECTIONS, g as ISSUE_STATUS, h as ISSUE_SECTIONS, i as DECISION_BASES, j as TASK_REQUIRED_SECTIONS, k as SURVEY_LINES, l as FINDING_SECTIONS, m as ID_PATTERNS, n as CLOSED_STATUS, nt as GRANT_FORMS, o as DECISION_STATUS, p as GROUP_STATUS, r as DECIDERS, rt as GRANT_TARGET_FORMS, s as DEFAULT_CATEGORIES, t as CHECKLIST_REF, tt as GRANT_ACTIONS, u as FINDING_STATUS, v as MAINLINE_ROLES, x as MERGE_STATES, y as MAINLINE_SECTIONS } from "./dist-BdvWGTsb.js";
|
|
2
2
|
import { a as LABEL_ROLES, i as FINDING_SEVERITIES, n as FINDING_CLASSES, r as FINDING_FIELDS, t as FINDINGS_FENCE } from "./retro-formats-ECy0gGOL.js";
|
|
3
3
|
//#region src/facts.ts
|
|
4
4
|
const COMMAND_SPECS = {
|
|
@@ -96,7 +96,7 @@ const COMMAND_SPECS = {
|
|
|
96
96
|
},
|
|
97
97
|
"action set": {
|
|
98
98
|
usage: "action set <a|session#a> [--status] [--reason --waiting-for --until] [--text] [--serves] [--before <a>] [--note <text>] [--session <session>]",
|
|
99
|
-
summary: "Change, reorder or finish an action; --status blocked needs --reason, and leaving blocked clears it. --status doing reminds like action add. A handed-off action keeps its note",
|
|
99
|
+
summary: "Change, reorder or finish an action; --status blocked needs --reason, and leaving blocked clears it. --status doing reminds like action add and moves a planning mainline it serves to active. A handed-off action keeps its note",
|
|
100
100
|
args: 1,
|
|
101
101
|
needsHub: true
|
|
102
102
|
},
|
|
@@ -114,8 +114,8 @@ const COMMAND_SPECS = {
|
|
|
114
114
|
needsHub: false
|
|
115
115
|
},
|
|
116
116
|
"new mainline": {
|
|
117
|
-
usage: "new mainline <slug> --title <title>",
|
|
118
|
-
summary: "Create mainline.md with the next id and the section template; write the rest in the file",
|
|
117
|
+
usage: "new mainline <slug> --title <title> [--group <w>] [--role plan|impl] [--priority P0|P1|P2|P3]",
|
|
118
|
+
summary: "Create mainline.md with the next id and the section template; write the rest in the file. --group puts it in an existing group; --role plan makes it the mainline that splits the work, coordinates it and makes the final check (without --role it is an impl mainline)",
|
|
119
119
|
args: 1,
|
|
120
120
|
needsHub: true
|
|
121
121
|
},
|
|
@@ -132,8 +132,8 @@ const COMMAND_SPECS = {
|
|
|
132
132
|
needsHub: true
|
|
133
133
|
},
|
|
134
134
|
"new issue": {
|
|
135
|
-
usage: "new issue <slug> --title <title> [--origin <ref>] [--labels a,b]",
|
|
136
|
-
summary: "Create an issue file for a follow-up that must outlive its mainline",
|
|
135
|
+
usage: "new issue <slug> --title <title> [--origin <ref>] [--labels a,b] [--group <w>] [--priority P0|P1|P2|P3]",
|
|
136
|
+
summary: "Create an issue file for a follow-up that must outlive its mainline; --group puts it with the work it is taken up with",
|
|
137
137
|
args: 1,
|
|
138
138
|
needsHub: true
|
|
139
139
|
},
|
|
@@ -143,9 +143,27 @@ const COMMAND_SPECS = {
|
|
|
143
143
|
args: 1,
|
|
144
144
|
needsHub: true
|
|
145
145
|
},
|
|
146
|
+
"new group": {
|
|
147
|
+
usage: "new group <slug> --title <title> [--priority P0|P1|P2|P3] [--trigger <when>] [--origin <ref>] [--labels a,b]",
|
|
148
|
+
summary: "Create a group file for mainlines and issues taken up together, apart from dependencies; --trigger says when, e.g. \"量測修正時\". Members join with --group on new mainline, new issue, mainline set or issue set",
|
|
149
|
+
args: 1,
|
|
150
|
+
needsHub: true
|
|
151
|
+
},
|
|
152
|
+
"group set": {
|
|
153
|
+
usage: "group set <w> [--status open|done] [--priority P0|P1|P2|P3] [--trigger <when>] [--title <title>]",
|
|
154
|
+
summary: "Change a group's status, priority, trigger or title; an empty --trigger \"\" removes it. Relations between groups go in links in the file",
|
|
155
|
+
args: 1,
|
|
156
|
+
needsHub: true
|
|
157
|
+
},
|
|
158
|
+
"group list": {
|
|
159
|
+
usage: "group list [--all]",
|
|
160
|
+
summary: "List open groups by priority with their trigger and members, plan mainlines first (--all includes done groups)",
|
|
161
|
+
args: 0,
|
|
162
|
+
needsHub: true
|
|
163
|
+
},
|
|
146
164
|
"mainline set": {
|
|
147
|
-
usage: "mainline set <m> --status <status>",
|
|
148
|
-
summary: "Change status; done needs every criterion met and no proposed decision",
|
|
165
|
+
usage: "mainline set <m> [--status <status>] [--group <w|none>] [--role plan|impl] [--priority P0|P1|P2|P3]",
|
|
166
|
+
summary: "Change status, group, role or priority; done needs every criterion met and no proposed decision. A planning mainline becomes active by itself when work on it starts, so use --status for paused, done and dropped. --group none leaves the group",
|
|
149
167
|
args: 1,
|
|
150
168
|
needsHub: true
|
|
151
169
|
},
|
|
@@ -187,7 +205,7 @@ const COMMAND_SPECS = {
|
|
|
187
205
|
},
|
|
188
206
|
"task set": {
|
|
189
207
|
usage: "task set <m/t> [--status] [--reason --waiting-for --signal] [--repo] [--branch --worktree --base --merge]",
|
|
190
|
-
summary: "Change status, repository or branch state; --status blocked needs --reason",
|
|
208
|
+
summary: "Change status, repository or branch state; --status blocked needs --reason. --status doing also moves a planning mainline to active",
|
|
191
209
|
args: 1,
|
|
192
210
|
needsHub: true
|
|
193
211
|
},
|
|
@@ -205,7 +223,7 @@ const COMMAND_SPECS = {
|
|
|
205
223
|
},
|
|
206
224
|
"item check": {
|
|
207
225
|
usage: "item check <m/t#c> --evidence <evidence>",
|
|
208
|
-
summary: "Check an item with evidence",
|
|
226
|
+
summary: "Check an item with evidence; also moves a planning mainline to active",
|
|
209
227
|
args: 1,
|
|
210
228
|
needsHub: true
|
|
211
229
|
},
|
|
@@ -263,6 +281,12 @@ const COMMAND_SPECS = {
|
|
|
263
281
|
args: 1,
|
|
264
282
|
needsHub: true
|
|
265
283
|
},
|
|
284
|
+
"issue set": {
|
|
285
|
+
usage: "issue set <i> [--group <w|none>] [--priority P0|P1|P2|P3]",
|
|
286
|
+
summary: "Put an issue in a group, or take it out with --group none, and change its priority",
|
|
287
|
+
args: 1,
|
|
288
|
+
needsHub: true
|
|
289
|
+
},
|
|
266
290
|
"issue list": {
|
|
267
291
|
usage: "issue list [--all]",
|
|
268
292
|
summary: "List open and planned issues (--all includes closed)",
|
|
@@ -306,7 +330,7 @@ const COMMAND_SPECS = {
|
|
|
306
330
|
needsHub: true
|
|
307
331
|
},
|
|
308
332
|
"section append": {
|
|
309
|
-
usage: "section append <m|m/t|m/d|i|f> <heading> <text>",
|
|
333
|
+
usage: "section append <m|m/t|m/d|i|f|w> <heading> <text>",
|
|
310
334
|
summary: "Add text at the end of a section of a document's body, such as a line under a task's 紀錄; two appends keep both, in order. The text is taken as written, even when it starts with \"-\"; a list line follows the list directly, other text comes after a blank line",
|
|
311
335
|
args: 3,
|
|
312
336
|
literalLast: true,
|
|
@@ -393,6 +417,10 @@ const OPTIONS = {
|
|
|
393
417
|
affects: { type: "string" },
|
|
394
418
|
origin: { type: "string" },
|
|
395
419
|
labels: { type: "string" },
|
|
420
|
+
group: { type: "string" },
|
|
421
|
+
role: { type: "string" },
|
|
422
|
+
priority: { type: "string" },
|
|
423
|
+
trigger: { type: "string" },
|
|
396
424
|
target: { type: "string" },
|
|
397
425
|
op: { type: "string" },
|
|
398
426
|
result: { type: "string" },
|
|
@@ -430,6 +458,7 @@ const STATUSES = {
|
|
|
430
458
|
decision: DECISION_STATUS,
|
|
431
459
|
issue: ISSUE_STATUS,
|
|
432
460
|
finding: FINDING_STATUS,
|
|
461
|
+
group: GROUP_STATUS,
|
|
433
462
|
session: SESSION_STATUS,
|
|
434
463
|
merge: MERGE_STATES,
|
|
435
464
|
decider: DECIDERS,
|
|
@@ -472,6 +501,11 @@ const REFERENCES = [
|
|
|
472
501
|
format: "f{NNN}",
|
|
473
502
|
example: "f001"
|
|
474
503
|
},
|
|
504
|
+
{
|
|
505
|
+
target: "group",
|
|
506
|
+
format: "w{NNN}",
|
|
507
|
+
example: "w001"
|
|
508
|
+
},
|
|
475
509
|
{
|
|
476
510
|
target: "another hub",
|
|
477
511
|
format: "{hub}:{reference}",
|
|
@@ -529,6 +563,7 @@ const LAYOUT = {
|
|
|
529
563
|
task: ".mainflow/mainlines/m{NNN}-{slug}/tasks/t{NNN}-{slug}/task.md",
|
|
530
564
|
issue: ".mainflow/issues/i{NNN}-{slug}.md",
|
|
531
565
|
finding: ".mainflow/findings/f{NNN}-{slug}.md",
|
|
566
|
+
group: ".mainflow/groups/w{NNN}-{slug}.md",
|
|
532
567
|
ops: ".mainflow/ops/{YYYY-MM}.log",
|
|
533
568
|
sessions: ".mainflow/local/sessions/{sessionId}.yaml"
|
|
534
569
|
};
|
|
@@ -540,6 +575,15 @@ const CLASSIFICATION = {
|
|
|
540
575
|
priorities: PRIORITIES,
|
|
541
576
|
defaultPriority: "P2"
|
|
542
577
|
};
|
|
578
|
+
/**
|
|
579
|
+
* What a mainline is for: a plan mainline sizes the work, splits it into impl mainlines, coordinates them and makes
|
|
580
|
+
* the final check; an impl mainline carries a piece out. Without a role a mainline is `default`. A group needs no plan
|
|
581
|
+
* mainline: whether to open one, and how many impl mainlines, follows from how big the work is.
|
|
582
|
+
*/
|
|
583
|
+
const ROLES = {
|
|
584
|
+
values: MAINLINE_ROLES,
|
|
585
|
+
default: DEFAULT_ROLE
|
|
586
|
+
};
|
|
543
587
|
/** Body sections each document is created with; the task sections in `taskRequired` must be filled while it is open. */
|
|
544
588
|
const SECTIONS = {
|
|
545
589
|
mainline: MAINLINE_SECTIONS,
|
|
@@ -547,7 +591,8 @@ const SECTIONS = {
|
|
|
547
591
|
taskRequired: TASK_REQUIRED_SECTIONS,
|
|
548
592
|
decision: DECISION_SECTIONS,
|
|
549
593
|
issue: ISSUE_SECTIONS,
|
|
550
|
-
finding: FINDING_SECTIONS
|
|
594
|
+
finding: FINDING_SECTIONS,
|
|
595
|
+
group: GROUP_SECTIONS
|
|
551
596
|
};
|
|
552
597
|
/**
|
|
553
598
|
* The mainline section that records what was checked before tasks were written, one `- {label}:{text}`
|
|
@@ -609,6 +654,8 @@ const LIST_ITEM = [
|
|
|
609
654
|
const FIELDS = {
|
|
610
655
|
mainline: [
|
|
611
656
|
...shared(...EVERY),
|
|
657
|
+
field("group", false, "所屬的組 w{NNN},一條主脈絡最多一組;組和依賴無關"),
|
|
658
|
+
field("role", false, "plan 是拆分顆粒、整合調度與最終確認的規劃型,impl 是執行的實作型;沒填視為 impl"),
|
|
612
659
|
field("due", false, "預計完成的日期"),
|
|
613
660
|
field("archivedAt", false, "封存的日期,和狀態分開"),
|
|
614
661
|
field("criteria", true, "解決條件清單,每條的欄位見 criterion"),
|
|
@@ -643,6 +690,7 @@ const FIELDS = {
|
|
|
643
690
|
],
|
|
644
691
|
issue: [
|
|
645
692
|
...shared(...EVERY),
|
|
693
|
+
field("group", false, "所屬的組 w{NNN},一筆待辦最多一組;同組的待辦在同一個時機一起做"),
|
|
646
694
|
field("order", false, "待辦之間的順序"),
|
|
647
695
|
field("due", false, "預計完成的日期"),
|
|
648
696
|
field("plannedIn", false, "排進的任務,planned 時必填"),
|
|
@@ -654,6 +702,7 @@ const FIELDS = {
|
|
|
654
702
|
field("reviewAfter", false, "到這天要重新確認它還成立"),
|
|
655
703
|
field("archivedAt", false, "封存的日期,和狀態分開")
|
|
656
704
|
],
|
|
705
|
+
group: [...shared(...EVERY), field("trigger", false, "什麼時機做這組的事,一句話,例如「量測修正時」")],
|
|
657
706
|
criterion: LIST_ITEM,
|
|
658
707
|
checklistItem: [...LIST_ITEM, field("serves", false, "這個項目推進的解決條件,r{NNN} 清單")],
|
|
659
708
|
grant: [
|
|
@@ -674,9 +723,9 @@ const FIELDS = {
|
|
|
674
723
|
],
|
|
675
724
|
link: [
|
|
676
725
|
field("rel", true, "關係類型:depends-on、relates、split-from,反向由讀者推出"),
|
|
677
|
-
field("to", true, "
|
|
726
|
+
field("to", true, "對方的參照,不能在同一條主脈絡內,也可以是組 w{NNN};其他 hub 的加 {hub}: 前綴"),
|
|
678
727
|
field("note", false, "一句話說明這個關係")
|
|
679
728
|
]
|
|
680
729
|
};
|
|
681
730
|
//#endregion
|
|
682
|
-
export { CHECKLIST_REF, CLASSIFICATION, CLOSED_STATUSES, COMMAND_SPECS, FIELDS, FORMAT_VERSION, GRANTS, ID_PATTERNS, LAYOUT, LINKS, OPTIONS, REFERENCES, RETRO_FORMATS, SECTIONS, SERVES_REF, SLUG, STATUSES, SURVEY, UNTIL };
|
|
731
|
+
export { CHECKLIST_REF, CLASSIFICATION, CLOSED_STATUSES, COMMAND_SPECS, FIELDS, FORMAT_VERSION, GRANTS, ID_PATTERNS, LAYOUT, LINKS, OPTIONS, REFERENCES, RETRO_FORMATS, ROLES, SECTIONS, SERVES_REF, SLUG, STATUSES, SURVEY, UNTIL };
|
package/dist/grant-commands.d.ts
CHANGED
package/dist/grant-commands.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { nt as GRANT_FORMS } from "./dist-BdvWGTsb.js";
|
|
2
2
|
import { closeSync, constants, fstatSync, openSync, readFileSync, realpathSync } from "node:fs";
|
|
3
3
|
import { isAbsolute, join, relative, resolve } from "node:path";
|
|
4
4
|
import { spawnSync } from "node:child_process";
|
package/dist/hooks.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as Decision,
|
|
1
|
+
import { _ as Task, a as Decision, c as Group, d as Mainline, f as OpsEntry, h as Session, i as ChecklistItem, n as ActionBlock, s as Finding, t as Action, u as Issue } from "./index-DgYB5u1f.js";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
//#region ../core/dist/ids/allocators.d.ts
|
|
4
4
|
/** The letters ids start with. */
|
|
5
|
-
type IdPrefix = 'm' | 't' | 'd' | 'i' | 'f' | 'c' | 'r' | 'a';
|
|
5
|
+
type IdPrefix = 'm' | 't' | 'd' | 'i' | 'f' | 'w' | 'c' | 'r' | 'a';
|
|
6
6
|
/** One id an operation needs. */
|
|
7
7
|
interface IdRequest {
|
|
8
8
|
prefix: IdPrefix;
|
|
@@ -121,17 +121,31 @@ declare function addHub(hub: HubReader, input: {
|
|
|
121
121
|
interface MainlineInput {
|
|
122
122
|
slug: string;
|
|
123
123
|
title: string;
|
|
124
|
+
/** A group of this hub the mainline belongs to */
|
|
125
|
+
group?: string;
|
|
126
|
+
/** plan or impl; without one the mainline is an impl one */
|
|
127
|
+
role?: string;
|
|
128
|
+
priority?: string;
|
|
124
129
|
}
|
|
125
130
|
declare function createMainline(hub: HubReader, input: MainlineInput, ctx: OpContext): OpResult<{
|
|
126
131
|
id: string;
|
|
127
132
|
dir: string;
|
|
128
133
|
}>;
|
|
129
|
-
/**
|
|
130
|
-
|
|
134
|
+
/** What `mainline set` changes; at least one. */
|
|
135
|
+
interface MainlinePatch {
|
|
131
136
|
id: string;
|
|
132
|
-
status
|
|
137
|
+
status?: string;
|
|
138
|
+
/** A group of this hub, or `none` (null) to leave every group */
|
|
139
|
+
group?: string | null;
|
|
140
|
+
role?: string;
|
|
141
|
+
priority?: string;
|
|
133
142
|
expectedVersion?: string;
|
|
134
|
-
}
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Change a mainline's status, group, role or priority. Done is refused while criteria are open or decisions are
|
|
146
|
+
* proposed; the other fields change without conditions, in the same write.
|
|
147
|
+
*/
|
|
148
|
+
declare function setMainline(hub: HubReader, input: MainlinePatch, ctx: OpContext): OpResult<Mainline>;
|
|
135
149
|
/** Rename a mainline. References use its ID, so they keep resolving and show the new title. */
|
|
136
150
|
declare function setMainlineTitle(hub: HubReader, input: {
|
|
137
151
|
id: string;
|
|
@@ -272,10 +286,24 @@ interface HubItemInput {
|
|
|
272
286
|
origin?: string;
|
|
273
287
|
labels?: string[];
|
|
274
288
|
}
|
|
275
|
-
declare function createIssue(hub: HubReader, input: HubItemInput
|
|
289
|
+
declare function createIssue(hub: HubReader, input: HubItemInput & {
|
|
290
|
+
group?: string;
|
|
291
|
+
priority?: string;
|
|
292
|
+
}, ctx: OpContext): OpResult<{
|
|
276
293
|
id: string;
|
|
277
294
|
file: string;
|
|
278
295
|
}>;
|
|
296
|
+
/** What `issue set` changes: the group the issue is taken up with and its priority; at least one. */
|
|
297
|
+
interface IssuePatch {
|
|
298
|
+
/** A group of this hub, or `none` (null) to leave every group */
|
|
299
|
+
group?: string | null;
|
|
300
|
+
priority?: string;
|
|
301
|
+
}
|
|
302
|
+
declare function setIssue(hub: HubReader, input: {
|
|
303
|
+
id: string;
|
|
304
|
+
patch: IssuePatch;
|
|
305
|
+
expectedVersion?: string;
|
|
306
|
+
}): OpResult<Issue>;
|
|
279
307
|
/** Schedule an issue into the task that will carry it out. */
|
|
280
308
|
declare function planIssue(hub: HubReader, input: {
|
|
281
309
|
id: string;
|
|
@@ -312,6 +340,29 @@ declare function setFindingArchived(hub: HubReader, input: {
|
|
|
312
340
|
archived: boolean;
|
|
313
341
|
expectedVersion?: string;
|
|
314
342
|
}, ctx: OpContext): OpResult<Finding>;
|
|
343
|
+
/**
|
|
344
|
+
* A group gathers mainlines and issues that are taken up together, apart from what depends on what. Its members name
|
|
345
|
+
* it in their own `group`, so creating a group writes only the group's file.
|
|
346
|
+
*/
|
|
347
|
+
declare function createGroup(hub: HubReader, input: HubItemInput & {
|
|
348
|
+
priority?: string;
|
|
349
|
+
trigger?: string;
|
|
350
|
+
}, ctx: OpContext): OpResult<{
|
|
351
|
+
id: string;
|
|
352
|
+
file: string;
|
|
353
|
+
}>;
|
|
354
|
+
/** What `group set` changes; at least one. An empty trigger removes it. */
|
|
355
|
+
interface GroupPatch {
|
|
356
|
+
status?: string;
|
|
357
|
+
priority?: string;
|
|
358
|
+
trigger?: string;
|
|
359
|
+
title?: string;
|
|
360
|
+
}
|
|
361
|
+
declare function setGroup(hub: HubReader, input: {
|
|
362
|
+
id: string;
|
|
363
|
+
patch: GroupPatch;
|
|
364
|
+
expectedVersion?: string;
|
|
365
|
+
}, ctx: OpContext): OpResult<Group>;
|
|
315
366
|
/** Append one external operation to ops/{YYYY-MM}.log; the log is never rewritten. `at` defaults to the context's time. */
|
|
316
367
|
declare function appendOps(hub: HubReader, input: Omit<OpsEntry, 'at'> & {
|
|
317
368
|
at?: string;
|
|
@@ -431,7 +482,7 @@ declare function updateAction(hub: HubReader, input: {
|
|
|
431
482
|
* (`item check` and `item uncheck` send `item.check`, with done true or false). The operations no command sends
|
|
432
483
|
* are listed in COMMANDLESS_OPERATIONS with who sends them.
|
|
433
484
|
*/
|
|
434
|
-
declare const OPERATION_NAMES: readonly ['repo.add', 'hub.add', 'mainline.new', 'mainline.set', 'mainline.title', 'mainline.archive', 'criterion.add', 'criterion.check', 'criterion.set', 'task.new', 'task.set', 'item.add', 'item.check', 'item.drop', 'item.undrop', 'decision.new', 'decision.accept', 'decision.supersede', 'issue.new', 'issue.plan', 'issue.close', 'issue.reopen', 'issue.archive', 'finding.new', 'finding.set', 'finding.archive', 'ops.add', 'section.append', 'session.start', 'session.ensure', 'session.handoff', 'session.info', 'session.reminder', 'session.set', 'session.settle', 'session.archive', 'action.add', 'action.set', 'file.remove'];
|
|
485
|
+
declare const OPERATION_NAMES: readonly ['repo.add', 'hub.add', 'mainline.new', 'mainline.set', 'mainline.title', 'mainline.archive', 'criterion.add', 'criterion.check', 'criterion.set', 'task.new', 'task.set', 'item.add', 'item.check', 'item.drop', 'item.undrop', 'decision.new', 'decision.accept', 'decision.supersede', 'issue.new', 'issue.set', 'issue.plan', 'issue.close', 'issue.reopen', 'issue.archive', 'finding.new', 'finding.set', 'finding.archive', 'group.new', 'group.set', 'ops.add', 'section.append', 'session.start', 'session.ensure', 'session.handoff', 'session.info', 'session.reminder', 'session.set', 'session.settle', 'session.archive', 'action.add', 'action.set', 'file.remove'];
|
|
435
486
|
type OperationName = (typeof OPERATION_NAMES)[number];
|
|
436
487
|
//#endregion
|
|
437
488
|
//#region ../core/dist/ops/operations.d.ts
|
|
@@ -445,7 +496,7 @@ declare const OPERATIONS: {
|
|
|
445
496
|
readonly 'repo.add': typeof addRepo;
|
|
446
497
|
readonly 'hub.add': typeof addHub;
|
|
447
498
|
readonly 'mainline.new': typeof createMainline;
|
|
448
|
-
readonly 'mainline.set': typeof
|
|
499
|
+
readonly 'mainline.set': typeof setMainline;
|
|
449
500
|
readonly 'mainline.title': typeof setMainlineTitle;
|
|
450
501
|
readonly 'mainline.archive': typeof setMainlineArchived;
|
|
451
502
|
readonly 'criterion.add': typeof addCriterion;
|
|
@@ -461,6 +512,7 @@ declare const OPERATIONS: {
|
|
|
461
512
|
readonly 'decision.accept': typeof acceptDecision;
|
|
462
513
|
readonly 'decision.supersede': typeof supersedeDecision;
|
|
463
514
|
readonly 'issue.new': typeof createIssue;
|
|
515
|
+
readonly 'issue.set': typeof setIssue;
|
|
464
516
|
readonly 'issue.plan': typeof planIssue;
|
|
465
517
|
readonly 'issue.close': typeof closeIssue;
|
|
466
518
|
readonly 'issue.reopen': typeof reopenIssue;
|
|
@@ -468,6 +520,8 @@ declare const OPERATIONS: {
|
|
|
468
520
|
readonly 'finding.new': typeof createFinding;
|
|
469
521
|
readonly 'finding.set': typeof setFindingStatus;
|
|
470
522
|
readonly 'finding.archive': typeof setFindingArchived;
|
|
523
|
+
readonly 'group.new': typeof createGroup;
|
|
524
|
+
readonly 'group.set': typeof setGroup;
|
|
471
525
|
readonly 'ops.add': typeof appendOps;
|
|
472
526
|
readonly 'section.append': typeof appendSection;
|
|
473
527
|
readonly 'session.start': typeof startSession;
|
package/dist/hooks.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { n as hubWriter, r as writtenLines } from "./operation
|
|
1
|
+
import { F as configSchema, it as describeRequest } from "./dist-BdvWGTsb.js";
|
|
2
|
+
import { A as mayDecorate, C as readSession, D as decorateReply, E as matchGrants, H as HubError, O as endsWithMarker, S as loadSessions, T as grantScope, W as loadHub, Z as readYaml, _t as DATA_DIR, b as sessionBriefing, ht as worktreesOf, i as hostName, k as headerLine, mt as findHubRoot, pt as currentBranch, x as turnReminder } from "./host-bnHYIwuY.js";
|
|
3
|
+
import { n as hubWriter, r as writtenLines } from "./operation-DVcJgKM9.js";
|
|
4
4
|
import { resolveFixed, scanCommand, scopedCwd } from "./grant-commands.js";
|
|
5
5
|
import { appendFileSync, existsSync, readFileSync } from "node:fs";
|
|
6
6
|
import { basename, dirname, isAbsolute, join, relative, resolve } from "node:path";
|