blacksmith-organization-system 1.6.0 → 1.7.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.
Files changed (83) hide show
  1. package/dist/bos.d.ts +15 -0
  2. package/dist/bos.js +54 -0
  3. package/dist/bos.js.map +1 -1
  4. package/dist/core/omnis.d.ts +29 -4
  5. package/dist/core/omnis.js +93 -18
  6. package/dist/core/omnis.js.map +1 -1
  7. package/dist/core/patterning.d.ts +19 -0
  8. package/dist/core/patterning.js +61 -0
  9. package/dist/core/patterning.js.map +1 -0
  10. package/dist/core/ruling.d.ts +34 -0
  11. package/dist/core/ruling.js +97 -0
  12. package/dist/core/ruling.js.map +1 -0
  13. package/dist/index.d.ts +2 -0
  14. package/dist/index.js +2 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/models/almanac/load.d.ts +12 -0
  17. package/dist/models/almanac/load.js +38 -0
  18. package/dist/models/almanac/load.js.map +1 -0
  19. package/dist/models/index.d.ts +1 -0
  20. package/dist/models/index.js +1 -0
  21. package/dist/models/index.js.map +1 -1
  22. package/dist/models/workshop/class.d.ts +1 -0
  23. package/dist/models/workshop/class.js +4 -0
  24. package/dist/models/workshop/class.js.map +1 -1
  25. package/dist/models/workshop/locate.js +12 -5
  26. package/dist/models/workshop/locate.js.map +1 -1
  27. package/dist/procedures/index.d.ts +3 -0
  28. package/dist/procedures/index.js +3 -0
  29. package/dist/procedures/index.js.map +1 -1
  30. package/dist/procedures/inspecting/_index.js +2 -0
  31. package/dist/procedures/inspecting/_index.js.map +1 -1
  32. package/dist/procedures/inspecting/read-omnis.d.ts +2 -0
  33. package/dist/procedures/inspecting/read-omnis.js +14 -0
  34. package/dist/procedures/inspecting/read-omnis.js.map +1 -0
  35. package/dist/procedures/inspecting/report.d.ts +6 -0
  36. package/dist/procedures/inspecting/report.js +1 -0
  37. package/dist/procedures/inspecting/report.js.map +1 -1
  38. package/dist/procedures/inspecting/rules.d.ts +1 -0
  39. package/dist/procedures/inspecting/rules.js +10 -0
  40. package/dist/procedures/inspecting/rules.js.map +1 -1
  41. package/dist/procedures/judging/_index.d.ts +4 -0
  42. package/dist/procedures/judging/_index.js +8 -0
  43. package/dist/procedures/judging/_index.js.map +1 -0
  44. package/dist/procedures/judging/context.d.ts +10 -0
  45. package/dist/procedures/judging/context.js +2 -0
  46. package/dist/procedures/judging/context.js.map +1 -0
  47. package/dist/procedures/judging/steps.d.ts +4 -0
  48. package/dist/procedures/judging/steps.js +21 -0
  49. package/dist/procedures/judging/steps.js.map +1 -0
  50. package/dist/procedures/recalling/_index.d.ts +4 -0
  51. package/dist/procedures/recalling/_index.js +8 -0
  52. package/dist/procedures/recalling/_index.js.map +1 -0
  53. package/dist/procedures/recalling/context.d.ts +10 -0
  54. package/dist/procedures/recalling/context.js +2 -0
  55. package/dist/procedures/recalling/context.js.map +1 -0
  56. package/dist/procedures/recalling/steps.d.ts +4 -0
  57. package/dist/procedures/recalling/steps.js +12 -0
  58. package/dist/procedures/recalling/steps.js.map +1 -0
  59. package/dist/procedures/sealing/_index.d.ts +5 -0
  60. package/dist/procedures/sealing/_index.js +11 -0
  61. package/dist/procedures/sealing/_index.js.map +1 -0
  62. package/dist/procedures/sealing/context.d.ts +20 -0
  63. package/dist/procedures/sealing/context.js +4 -0
  64. package/dist/procedures/sealing/context.js.map +1 -0
  65. package/dist/procedures/sealing/steps.d.ts +9 -0
  66. package/dist/procedures/sealing/steps.js +44 -0
  67. package/dist/procedures/sealing/steps.js.map +1 -0
  68. package/dist/tools/_index.js +2 -0
  69. package/dist/tools/_index.js.map +1 -1
  70. package/dist/tools/almanac.d.ts +1 -0
  71. package/dist/tools/almanac.js +56 -0
  72. package/dist/tools/almanac.js.map +1 -0
  73. package/dist/tools/project.js +28 -0
  74. package/dist/tools/project.js.map +1 -1
  75. package/dist/views/almanac.d.ts +5 -0
  76. package/dist/views/almanac.js +59 -0
  77. package/dist/views/almanac.js.map +1 -0
  78. package/dist/views/sealing.d.ts +2 -0
  79. package/dist/views/sealing.js +26 -0
  80. package/dist/views/sealing.js.map +1 -0
  81. package/package.json +4 -1
  82. package/resources/almanac/patterning/bos-core.json +90 -0
  83. package/resources/almanac/rulesets/bos-environment.json +141 -0
@@ -0,0 +1,38 @@
1
+ import { join, packagePath } from "../../core/paths.js";
2
+ export const PROJECT_ALMANAC = "docs/almanac";
3
+ export const PACKAGE_ALMANAC = packagePath("resources", "almanac");
4
+ // the JSON files of a section of an almanac, in name order
5
+ function readSection(host, place, section) {
6
+ const dir = join(place, section);
7
+ if (!host.isDirectory(dir)) {
8
+ return [];
9
+ }
10
+ return host
11
+ .list(dir)
12
+ .filter((entry) => !entry.directory && entry.name.endsWith(".json"))
13
+ .map((entry) => entry.name)
14
+ .sort()
15
+ .map((name) => {
16
+ const path = join(dir, name);
17
+ try {
18
+ return JSON.parse(host.readText(path) ?? "null");
19
+ }
20
+ catch (error) {
21
+ throw new Error(`${path}: ${error.message}`);
22
+ }
23
+ })
24
+ .filter((data) => data !== null);
25
+ }
26
+ export function readAlmanac(host, places) {
27
+ const unique = [...new Set(places)].filter((place) => host.isDirectory(place));
28
+ return {
29
+ places: unique,
30
+ rulesets: unique.flatMap((place) => readSection(host, place, "rulesets")),
31
+ chains: unique.flatMap((place) => readSection(host, place, "patterning").flatMap((file) => file.chains)),
32
+ };
33
+ }
34
+ // a project's almanac, then the universal one
35
+ export function almanacOf(host, projectPath) {
36
+ return readAlmanac(host, [join(projectPath, PROJECT_ALMANAC), PACKAGE_ALMANAC]);
37
+ }
38
+ //# sourceMappingURL=load.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load.js","sourceRoot":"","sources":["../../../src/models/almanac/load.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMxD,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAC;AAC9C,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAEnE,2DAA2D;AAC3D,SAAS,WAAW,CAAI,IAAU,EAAE,KAAa,EAAE,OAAe;IAChE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,IAAI;SACR,IAAI,CAAC,GAAG,CAAC;SACT,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SACnE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;SAC1B,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAM,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,IAAI,EAAa,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAU,EAAE,MAAgB;IACtD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/E,OAAO;QACL,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAU,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAClF,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAC/B,WAAW,CAAsB,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAC3F;KACF,CAAC;AACJ,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,SAAS,CAAC,IAAU,EAAE,WAAmB;IACvD,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;AAClF,CAAC"}
@@ -1,3 +1,4 @@
1
+ export { type Almanac, almanacOf, PACKAGE_ALMANAC, PROJECT_ALMANAC, readAlmanac, } from "./almanac/load.ts";
1
2
  export { Archive } from "./archive/class.ts";
2
3
  export { type AuthorEntry, type AuthorKind, completed, entryOf, formatEntry, type Identity, kindOf, names, parseEntry, parseIdentity, } from "./authors/entry.ts";
3
4
  export { type AuthorsLine, authorsFile, authorsText, readAuthors } from "./authors/file.ts";
@@ -1,4 +1,5 @@
1
1
  // Every model of the workshop, one directory each (glossary as classes).
2
+ export { almanacOf, PACKAGE_ALMANAC, PROJECT_ALMANAC, readAlmanac, } from "./almanac/load.js";
2
3
  export { Archive } from "./archive/class.js";
3
4
  export { completed, entryOf, formatEntry, kindOf, names, parseEntry, parseIdentity, } from "./authors/entry.js";
4
5
  export { authorsFile, authorsText, readAuthors } from "./authors/file.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAGL,SAAS,EACT,OAAO,EACP,WAAW,EAEX,MAAM,EACN,KAAK,EACL,UAAU,EACV,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAoB,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,EAAc,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAiB,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAiB,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAsB,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EACL,KAAK,EAEL,kBAAkB,GAGnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,aAAa,EAEb,YAAY,EACZ,UAAU,EACV,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,oBAAoB,EAEpB,cAAc,EAEd,OAAO,EACP,gBAAgB,EAChB,YAAY,GACb,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,OAAO,EAEL,SAAS,EACT,eAAe,EACf,eAAe,EACf,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAGL,SAAS,EACT,OAAO,EACP,WAAW,EAEX,MAAM,EACN,KAAK,EACL,UAAU,EACV,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAoB,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,EAAc,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAiB,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAiB,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAsB,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EACL,KAAK,EAEL,kBAAkB,GAGnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,aAAa,EAEb,YAAY,EACZ,UAAU,EACV,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,oBAAoB,EAEpB,cAAc,EAEd,OAAO,EACP,gBAAgB,EAChB,YAAY,GACb,MAAM,sBAAsB,CAAC"}
@@ -15,6 +15,7 @@ export declare class Workshop extends Element {
15
15
  static locate(host: Host, explicit?: string): Workshop;
16
16
  get system(): System;
17
17
  get forge(): Forge;
18
+ get areas(): Element[];
18
19
  get areaNames(): string[];
19
20
  strays(): string[];
20
21
  }
@@ -28,6 +28,10 @@ export class Workshop extends Element {
28
28
  get forge() {
29
29
  return this.child(Forge);
30
30
  }
31
+ // the five areas as elements (.BOS, devarmory, forge, craftbook, archive)
32
+ get areas() {
33
+ return this.childElements();
34
+ }
31
35
  get areaNames() {
32
36
  return Workshop.children.map((Kind) => Kind.dirname ?? Kind.type);
33
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"class.js","sourceRoot":"","sources":["../../../src/models/workshop/class.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,iFAAiF;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAgB,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE7E,2FAA2F;AAC3F,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AAEpG,MAAM,OAAO,QAAS,SAAQ,OAAO;IACnC,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,MAAM,CAAC,OAAO,GAAG,gBAAgB,CAAC;IAClC,MAAM,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAExD,OAAO,CAAiB;IAEjC,YACE,IAAU,EACV,IAAY,EACZ,SAAyB,IAAI,EAC7B,UAA0B,IAAI;QAE9B,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAU,EAAE,QAAiB;QACzC,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/C,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,gEAAgE;IAChE,MAAM;QACJ,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,IAAI;aACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;aACf,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC"}
1
+ {"version":3,"file":"class.js","sourceRoot":"","sources":["../../../src/models/workshop/class.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,iFAAiF;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAgB,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE7E,2FAA2F;AAC3F,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AAEpG,MAAM,OAAO,QAAS,SAAQ,OAAO;IACnC,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,MAAM,CAAC,OAAO,GAAG,gBAAgB,CAAC;IAClC,MAAM,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAExD,OAAO,CAAiB;IAEjC,YACE,IAAU,EACV,IAAY,EACZ,SAAyB,IAAI,EAC7B,UAA0B,IAAI;QAE9B,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAU,EAAE,QAAiB;QACzC,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/C,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,0EAA0E;IAC1E,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,gEAAgE;IAChE,MAAM;QACJ,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,IAAI;aACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;aACf,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC"}
@@ -14,20 +14,27 @@ export function findAncestorWorkshop(start, name = WORKSHOP_DIRNAME) {
14
14
  }
15
15
  return null;
16
16
  }
17
- // the workshop itself ($BOS_WORKSHOP), or the directory that holds it ($WORKSHOP_ROOT,
18
- // e.g. a partition kept for tests and demonstrations, so the home workshop stays private)
17
+ // the workshop itself (--workshop, $BOS_WORKSHOP), or the directory that holds it
18
+ // ($WORKSHOP_ROOT, e.g. a partition kept for tests and demonstrations, so the home workshop
19
+ // stays private). A workshop is a directory named __WORKSHOP: a --workshop or $BOS_WORKSHOP
20
+ // not so named is taken as the directory that holds one, like $WORKSHOP_ROOT (the draft
21
+ // snippets gave a partition root and BOS built a second workshop beside __WORKSHOP).
19
22
  export function locateWorkshop(host, explicit) {
23
+ const name = workshopName(host);
20
24
  const absolute = (path) => normalize(path.startsWith("/") ? path : join(host.cwd(), path));
25
+ const named = (path) => {
26
+ const full = absolute(path);
27
+ return basename(full) === name ? full : join(full, name);
28
+ };
21
29
  const variable = (name) => host
22
30
  .env(name)
23
31
  ?.trim()
24
32
  .replace(/^~(?=$|\/)/, host.home()) || undefined;
25
- const name = workshopName(host);
26
33
  const workshop = variable("BOS_WORKSHOP");
27
34
  const root = variable("WORKSHOP_ROOT");
28
35
  const rules = [
29
- ["--workshop option", () => explicit && absolute(explicit)],
30
- ["$BOS_WORKSHOP", () => workshop && absolute(workshop)],
36
+ ["--workshop option", () => explicit && named(explicit)],
37
+ ["$BOS_WORKSHOP", () => workshop && named(workshop)],
31
38
  ["$WORKSHOP_ROOT", () => root && join(absolute(root), name)],
32
39
  ["ancestor of the current directory", () => findAncestorWorkshop(host.cwd(), name)],
33
40
  ["default per user", () => join(host.home(), name)],
@@ -1 +1 @@
1
- {"version":3,"file":"locate.js","sourceRoot":"","sources":["../../../src/models/workshop/locate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locate.js","sourceRoot":"","sources":["../../../src/models/workshop/locate.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,10 @@ export { type BootstrapContext, bootstrapping } from "./bootstrapping/_index.ts"
3
3
  export { type BumpContext, type BumpOutcome, bumping, unbumped } from "./bumping/_index.ts";
4
4
  export { type CreditContext, type CreditOutcome, crediting, uncredited, } from "./crediting/_index.ts";
5
5
  export { emptyReport, type Finding, type InspectContext, inspecting, type ScopeReport, type WorkshopReport, } from "./inspecting/_index.ts";
6
+ export { type JudgeContext, judging } from "./judging/_index.ts";
6
7
  export { type FlowOutcome, type ProposeContext, proposing, undecided } from "./proposing/_index.ts";
8
+ export { type RecallContext, recalling } from "./recalling/_index.ts";
7
9
  export { type ReconcileContext, type ReconcileOutcome, reconciling, unreconciled, } from "./reconciling/_index.ts";
10
+ export { haloOf, type SealContext, type SealOutcome, sealedOf, sealing, unsealed, } from "./sealing/_index.ts";
8
11
  export { type VersionContext, versioning } from "./versioning/_index.ts";
9
12
  export { classify, isNoise, type WatchContext, type WorkshopEvent, watching, } from "./watching/_index.ts";
@@ -5,8 +5,11 @@ export { bootstrapping } from "./bootstrapping/_index.js";
5
5
  export { bumping, unbumped } from "./bumping/_index.js";
6
6
  export { crediting, uncredited, } from "./crediting/_index.js";
7
7
  export { emptyReport, inspecting, } from "./inspecting/_index.js";
8
+ export { judging } from "./judging/_index.js";
8
9
  export { proposing, undecided } from "./proposing/_index.js";
10
+ export { recalling } from "./recalling/_index.js";
9
11
  export { reconciling, unreconciled, } from "./reconciling/_index.js";
12
+ export { haloOf, sealedOf, sealing, unsealed, } from "./sealing/_index.js";
10
13
  export { versioning } from "./versioning/_index.js";
11
14
  export { classify, isNoise, watching, } from "./watching/_index.js";
12
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/procedures/index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,wEAAwE;AAExE,OAAO,EAAyB,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAyB,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAsC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAGL,SAAS,EACT,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,WAAW,EAGX,UAAU,GAGX,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAyC,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACpG,OAAO,EAGL,WAAW,EACX,YAAY,GACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAuB,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EACL,QAAQ,EACR,OAAO,EAGP,QAAQ,GACT,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/procedures/index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,wEAAwE;AAExE,OAAO,EAAyB,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAyB,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAsC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAGL,SAAS,EACT,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,WAAW,EAGX,UAAU,GAGX,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAqB,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAyC,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACpG,OAAO,EAAsB,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAGL,WAAW,EACX,YAAY,GACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,MAAM,EAGN,QAAQ,EACR,OAAO,EACP,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAuB,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EACL,QAAQ,EACR,OAAO,EAGP,QAAQ,GACT,MAAM,sBAAsB,CAAC"}
@@ -2,10 +2,12 @@ import { Procedure } from "../../core/procedure.js";
2
2
  import { judge } from "./judge.js";
3
3
  import { readAreas } from "./read-areas.js";
4
4
  import { readForge } from "./read-forge.js";
5
+ import { readOmnis } from "./read-omnis.js";
5
6
  export { emptyReport, } from "./report.js";
6
7
  export const inspecting = new Procedure("inspecting", [
7
8
  { name: "read-areas", run: readAreas },
8
9
  { name: "read-forge", run: readForge },
10
+ { name: "read-omnis", run: readOmnis },
9
11
  { name: "judge", run: judge },
10
12
  ]);
11
13
  //# sourceMappingURL=_index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_index.js","sourceRoot":"","sources":["../../../src/procedures/inspecting/_index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EACL,WAAW,GAKZ,MAAM,aAAa,CAAC;AAErB,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,SAAS,CAAiB,YAAY,EAAE;IACpE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE;IACtC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE;IACtC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE;CAC9B,CAAC,CAAC"}
1
+ {"version":3,"file":"_index.js","sourceRoot":"","sources":["../../../src/procedures/inspecting/_index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EACL,WAAW,GAKZ,MAAM,aAAa,CAAC;AAErB,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,SAAS,CAAiB,YAAY,EAAE;IACpE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE;IACtC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE;IACtC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE;IACtC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE;CAC9B,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { InspectContext } from "./report.ts";
2
+ export declare function readOmnis({ host, report }: InspectContext): void;
@@ -0,0 +1,14 @@
1
+ import { drift } from "../../core/omnis.js";
2
+ import { haloOf, sealedOf } from "../sealing/_index.js";
3
+ // every project with a sealed halo, against its files now (projects without one cost nothing)
4
+ export function readOmnis({ host, report }) {
5
+ for (const project of report.forge.scopes.flatMap((scope) => scope.projects)) {
6
+ const sealed = sealedOf(host, project.path);
7
+ if (!sealed || !project.git) {
8
+ continue;
9
+ }
10
+ const now = haloOf(host, project.path, sealed.allocators);
11
+ report.omnis.push({ path: project.path, sealedAt: sealed.unixusat, drift: drift(sealed, now) });
12
+ }
13
+ }
14
+ //# sourceMappingURL=read-omnis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-omnis.js","sourceRoot":"","sources":["../../../src/procedures/inspecting/read-omnis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGxD,8FAA8F;AAC9F,MAAM,UAAU,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAkB;IACxD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7E,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;AACH,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { Context } from "../../core/context.ts";
2
2
  import type { ElementNode } from "../../core/element.ts";
3
+ import type { Drift } from "../../core/omnis.ts";
3
4
  import type { ProjectReport, Workshop } from "../../models/index.ts";
4
5
  export type Finding = {
5
6
  level: "error" | "warning" | "info";
@@ -23,6 +24,11 @@ export type WorkshopReport = {
23
24
  looseFiles: string[];
24
25
  scopes: ScopeReport[];
25
26
  };
27
+ omnis: {
28
+ path: string;
29
+ sealedAt: number;
30
+ drift: Drift;
31
+ }[];
26
32
  findings: Finding[];
27
33
  };
28
34
  export type InspectContext = Context & {
@@ -5,6 +5,7 @@ export function emptyReport(workshop) {
5
5
  areas: null,
6
6
  strays: [],
7
7
  forge: { looseFiles: [], scopes: [] },
8
+ omnis: [],
8
9
  findings: [],
9
10
  };
10
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/procedures/inspecting/report.ts"],"names":[],"mappings":"AA8BA,MAAM,UAAU,WAAW,CAAC,QAAkB;IAC5C,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI;QACxC,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACrC,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/procedures/inspecting/report.ts"],"names":[],"mappings":"AAiCA,MAAM,UAAU,WAAW,CAAC,QAAkB;IAC5C,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI;QACxC,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACrC,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC"}
@@ -8,5 +8,6 @@ export declare const scopeWithoutVersion: Rule;
8
8
  export declare const workOnMaster: Rule;
9
9
  export declare const misspeltBranch: Rule;
10
10
  export declare const incompleteAnatomy: Rule;
11
+ export declare const omnisDrift: Rule;
11
12
  export declare const RULES: Rule[];
12
13
  export {};
@@ -62,6 +62,15 @@ export const incompleteAnatomy = (report) => projects(report)
62
62
  path: project.path,
63
63
  message: `missing ${project.anatomy.missing.join(", ")}`,
64
64
  }));
65
+ export const omnisDrift = (report) => report.omnis
66
+ .filter(({ drift }) => drift.added.length || drift.changed.length || drift.removed)
67
+ .map(({ path, sealedAt, drift }) => ({
68
+ level: "warning",
69
+ rule: "omnis-drift",
70
+ path,
71
+ message: `changed since sealed at UNIXUSAT=${sealedAt}: ${drift.changed.length} changed, ` +
72
+ `${drift.added.length} added, ${drift.removed} removed (bos project omnis shows them)`,
73
+ }));
65
74
  export const RULES = [
66
75
  missingArea,
67
76
  missingDescriptor,
@@ -71,5 +80,6 @@ export const RULES = [
71
80
  workOnMaster,
72
81
  misspeltBranch,
73
82
  incompleteAnatomy,
83
+ omnisDrift,
74
84
  ];
75
85
  //# sourceMappingURL=rules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../src/procedures/inspecting/rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../src/procedures/inspecting/rules.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Procedure } from "../../core/procedure.ts";
2
+ import type { JudgeContext } from "./context.ts";
3
+ export type { JudgeContext };
4
+ export declare const judging: Procedure<JudgeContext>;
@@ -0,0 +1,8 @@
1
+ import { Procedure } from "../../core/procedure.js";
2
+ import { categorize, judge, read } from "./steps.js";
3
+ export const judging = new Procedure("judging", [
4
+ { name: "read", run: read },
5
+ { name: "categorize", run: categorize },
6
+ { name: "judge", run: judge },
7
+ ]);
8
+ //# sourceMappingURL=_index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_index.js","sourceRoot":"","sources":["../../../src/procedures/judging/_index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAIrD,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAe,SAAS,EAAE;IAC5D,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IAC3B,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE;IACvC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE;CAC9B,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Context } from "../../core/context.ts";
2
+ import type { Case, Judgement } from "../../core/ruling.ts";
3
+ import type { Almanac } from "../../models/index.ts";
4
+ export type JudgeContext = Context & {
5
+ projectPath: string;
6
+ description: string | Case;
7
+ almanac: Almanac;
8
+ case: Case;
9
+ judgement: Judgement | null;
10
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/procedures/judging/context.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { JudgeContext } from "./context.ts";
2
+ export declare function read(context: JudgeContext): void;
3
+ export declare function categorize(context: JudgeContext): void;
4
+ export declare function judge(context: JudgeContext): void;
@@ -0,0 +1,21 @@
1
+ import { categorize as inWords, judgeCase } from "../../core/ruling.js";
2
+ import { almanacOf } from "../../models/index.js";
3
+ export function read(context) {
4
+ context.almanac = almanacOf(context.host, context.projectPath);
5
+ }
6
+ // fields as they are; JSON text parsed; words through the categorizer
7
+ export function categorize(context) {
8
+ const { description, almanac } = context;
9
+ if (typeof description !== "string") {
10
+ context.case = inWords("", almanac.rulesets, description);
11
+ return;
12
+ }
13
+ const text = description.trim();
14
+ context.case = text.startsWith("{")
15
+ ? inWords("", almanac.rulesets, JSON.parse(text))
16
+ : inWords(text, almanac.rulesets);
17
+ }
18
+ export function judge(context) {
19
+ context.judgement = judgeCase(context.almanac.rulesets, context.case);
20
+ }
21
+ //# sourceMappingURL=steps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"steps.js","sourceRoot":"","sources":["../../../src/procedures/judging/steps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,MAAM,UAAU,IAAI,CAAC,OAAqB;IACxC,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;AACjE,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,UAAU,CAAC,OAAqB;IAC9C,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACzC,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IAChC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACjC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,OAAqB;IACzC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Procedure } from "../../core/procedure.ts";
2
+ import type { RecallContext } from "./context.ts";
3
+ export type { RecallContext };
4
+ export declare const recalling: Procedure<RecallContext>;
@@ -0,0 +1,8 @@
1
+ import { Procedure } from "../../core/procedure.js";
2
+ import { predict, read, recall } from "./steps.js";
3
+ export const recalling = new Procedure("recalling", [
4
+ { name: "read", run: read },
5
+ { name: "predict", run: predict },
6
+ { name: "recall", run: recall },
7
+ ]);
8
+ //# sourceMappingURL=_index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_index.js","sourceRoot":"","sources":["../../../src/procedures/recalling/_index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAInD,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAgB,WAAW,EAAE;IACjE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IAC3B,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE;IACjC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE;CAChC,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Context } from "../../core/context.ts";
2
+ import type { Chain, Prediction } from "../../core/patterning.ts";
3
+ import type { Almanac } from "../../models/index.ts";
4
+ export type RecallContext = Context & {
5
+ projectPath: string;
6
+ events: string[];
7
+ almanac: Almanac;
8
+ prediction: Prediction | null;
9
+ chains: Chain[];
10
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/procedures/recalling/context.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { RecallContext } from "./context.ts";
2
+ export declare function read(context: RecallContext): void;
3
+ export declare function predict(context: RecallContext): void;
4
+ export declare function recall(context: RecallContext): void;
@@ -0,0 +1,12 @@
1
+ import { recall as known, learn, predict as next } from "../../core/patterning.js";
2
+ import { almanacOf } from "../../models/index.js";
3
+ export function read(context) {
4
+ context.almanac = almanacOf(context.host, context.projectPath);
5
+ }
6
+ export function predict(context) {
7
+ context.prediction = next(learn(context.almanac.chains), context.events);
8
+ }
9
+ export function recall(context) {
10
+ context.chains = known(context.almanac.chains, context.events);
11
+ }
12
+ //# sourceMappingURL=steps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"steps.js","sourceRoot":"","sources":["../../../src/procedures/recalling/steps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,MAAM,UAAU,IAAI,CAAC,OAAsB;IACzC,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAsB;IAC5C,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,OAAsB;IAC3C,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AACjE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Procedure } from "../../core/procedure.ts";
2
+ import type { SealContext } from "./context.ts";
3
+ export { type SealContext, type SealOutcome, unsealed } from "./context.ts";
4
+ export { haloOf, sealedOf } from "./steps.ts";
5
+ export declare const sealing: Procedure<SealContext>;
@@ -0,0 +1,11 @@
1
+ import { Procedure } from "../../core/procedure.js";
2
+ import { compare, gather, read, write } from "./steps.js";
3
+ export { unsealed } from "./context.js";
4
+ export { haloOf, sealedOf } from "./steps.js";
5
+ export const sealing = new Procedure("sealing", [
6
+ { name: "read", run: read },
7
+ { name: "gather", run: gather },
8
+ { name: "compare", run: compare },
9
+ { name: "write", run: write },
10
+ ]);
11
+ //# sourceMappingURL=_index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_index.js","sourceRoot":"","sources":["../../../src/procedures/sealing/_index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAE1D,OAAO,EAAsC,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAc,SAAS,EAAE;IAC3D,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IAC3B,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE;IAC/B,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE;IACjC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE;CAC9B,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { LocalGit } from "../../bridges/index.ts";
2
+ import type { Context } from "../../core/context.ts";
3
+ import type { Allocators, Drift, Hallow, Sealed } from "../../core/omnis.ts";
4
+ export type SealOutcome = {
5
+ action: "none" | "would-write" | "written";
6
+ file: string;
7
+ files: number;
8
+ sealedAt: number | null;
9
+ drift: Drift | null;
10
+ };
11
+ export type SealContext = Context & {
12
+ projectPath: string;
13
+ git: LocalGit;
14
+ allocators: Allocators;
15
+ seal: boolean;
16
+ sealed: Sealed | null;
17
+ halo: Hallow[];
18
+ outcome: SealOutcome;
19
+ };
20
+ export declare function unsealed(file: string): SealOutcome;
@@ -0,0 +1,4 @@
1
+ export function unsealed(file) {
2
+ return { action: "none", file, files: 0, sealedAt: null, drift: null };
3
+ }
4
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/procedures/sealing/context.ts"],"names":[],"mappings":"AAuBA,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Host } from "../../core/host.ts";
2
+ import { type Allocators, type Hallow, type Sealed } from "../../core/omnis.ts";
3
+ import type { SealContext } from "./context.ts";
4
+ export declare function haloOf(host: Host, root: string, allocators?: Allocators): Hallow[];
5
+ export declare function sealedOf(host: Host, root: string): Sealed | null;
6
+ export declare function read(context: SealContext): void;
7
+ export declare function gather(context: SealContext): void;
8
+ export declare function compare(context: SealContext): void;
9
+ export declare function write(context: SealContext): void;
@@ -0,0 +1,44 @@
1
+ import { LocalGit } from "../../bridges/index.js";
2
+ import { drift, OMNIS_FILE, omnis, omnisToml, readOmnis, unchanged, } from "../../core/omnis.js";
3
+ // the halo of a model (a git working tree) now
4
+ export function haloOf(host, root, allocators) {
5
+ return omnis(host, root, new LocalGit(host, root).files(), allocators);
6
+ }
7
+ // the halo sealed in a model's .bos/.omnis.toml, null when there is none
8
+ export function sealedOf(host, root) {
9
+ const text = host.readText(`${root}/${OMNIS_FILE}`);
10
+ return text === null ? null : readOmnis(text);
11
+ }
12
+ export function read(context) {
13
+ context.sealed = sealedOf(context.host, context.projectPath);
14
+ // a sealed halo is compared with the allocators it was made with
15
+ if (context.sealed && !context.seal) {
16
+ context.allocators = context.sealed.allocators;
17
+ }
18
+ context.outcome.sealedAt = context.sealed?.unixusat ?? null;
19
+ }
20
+ export function gather(context) {
21
+ context.halo = omnis(context.host, context.projectPath, context.git.files(), context.allocators);
22
+ context.outcome.files = context.halo.length;
23
+ }
24
+ export function compare(context) {
25
+ if (context.sealed) {
26
+ context.outcome.drift = drift(context.sealed, context.halo);
27
+ }
28
+ }
29
+ export function write(context) {
30
+ const { outcome } = context;
31
+ if (!context.seal || (outcome.drift && unchanged(outcome.drift))) {
32
+ return;
33
+ }
34
+ context.changes.push(outcome.file);
35
+ if (context.dryRun) {
36
+ outcome.action = "would-write";
37
+ return;
38
+ }
39
+ const text = omnisToml(context.halo, context.host.now(), context.allocators);
40
+ context.host.mkdir(`${context.projectPath}/.bos`);
41
+ context.host.writeText(outcome.file, text);
42
+ outcome.action = "written";
43
+ }
44
+ //# sourceMappingURL=steps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"steps.js","sourceRoot":"","sources":["../../../src/procedures/sealing/steps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAEL,KAAK,EAEL,UAAU,EACV,KAAK,EACL,SAAS,EACT,SAAS,EAET,SAAS,GACV,MAAM,qBAAqB,CAAC;AAG7B,+CAA+C;AAC/C,MAAM,UAAU,MAAM,CAAC,IAAU,EAAE,IAAY,EAAE,UAAuB;IACtE,OAAO,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC;AACzE,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,QAAQ,CAAC,IAAU,EAAE,IAAY;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,IAAI,UAAU,EAAE,CAAC,CAAC;IACpD,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,OAAoB;IACvC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7D,iEAAiE;IACjE,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;IACjD,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,IAAI,IAAI,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,OAAoB;IACzC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACjG,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAoB;IAC1C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,OAAoB;IACxC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO;IACT,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC;QAC/B,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7E,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,OAAO,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;AAC7B,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { almanacTools } from "./almanac.js";
1
2
  import { devlogTools } from "./devlog.js";
2
3
  import { flowTools } from "./flow.js";
3
4
  import { projectTools } from "./project.js";
@@ -11,6 +12,7 @@ export const TOOLS = [
11
12
  ...flowTools,
12
13
  ...projectTools,
13
14
  ...versionTools,
15
+ ...almanacTools,
14
16
  ];
15
17
  export function findTool(model, name) {
16
18
  const entry = TOOLS.find((t) => t.model === model && t.name === name);
@@ -1 +1 @@
1
- {"version":3,"file":"_index.js","sourceRoot":"","sources":["../../src/tools/_index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,CAAC,MAAM,KAAK,GAAW;IAC3B,GAAG,aAAa;IAChB,GAAG,UAAU;IACb,GAAG,WAAW;IACd,GAAG,SAAS;IACZ,GAAG,YAAY;IACf,GAAG,YAAY;CAChB,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,KAAyB,EAAE,IAAwB;IAC1E,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACtE,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,cAAc,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,iBAAiB,IAAI,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjF,CAAC"}
1
+ {"version":3,"file":"_index.js","sourceRoot":"","sources":["../../src/tools/_index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,CAAC,MAAM,KAAK,GAAW;IAC3B,GAAG,aAAa;IAChB,GAAG,UAAU;IACb,GAAG,WAAW;IACd,GAAG,SAAS;IACZ,GAAG,YAAY;IACf,GAAG,YAAY;IACf,GAAG,YAAY;CAChB,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,KAAyB,EAAE,IAAwB;IAC1E,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACtE,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,cAAc,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,iBAAiB,IAAI,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjF,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const almanacTools: import("../core/tool.ts").Tool[];