@openparachute/hub 0.7.5 → 0.7.6-rc.3
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/package.json +1 -1
- package/src/__tests__/admin-module-token.test.ts +40 -3
- package/src/__tests__/api-modules-ops.test.ts +8 -3
- package/src/__tests__/api-modules.test.ts +26 -18
- package/src/__tests__/connections-store.test.ts +84 -0
- package/src/__tests__/doctor.test.ts +131 -0
- package/src/__tests__/git-notify.test.ts +29 -1
- package/src/__tests__/grants-store.test.ts +33 -1
- package/src/__tests__/hub-instance.test.ts +297 -0
- package/src/__tests__/hub-server.test.ts +169 -0
- package/src/__tests__/install.test.ts +28 -0
- package/src/__tests__/serve-boot.test.ts +60 -0
- package/src/__tests__/service-spec-discovery.test.ts +32 -9
- package/src/__tests__/setup.test.ts +64 -16
- package/src/__tests__/stale-module-units.test.ts +1 -1
- package/src/__tests__/status-supervisor.test.ts +112 -0
- package/src/admin-connections.ts +5 -1
- package/src/admin-module-token.ts +2 -2
- package/src/api-modules-ops.ts +3 -3
- package/src/api-modules.ts +13 -13
- package/src/commands/doctor.ts +167 -4
- package/src/commands/install.ts +29 -3
- package/src/commands/migrate.ts +5 -0
- package/src/commands/serve.ts +52 -0
- package/src/commands/setup.ts +10 -9
- package/src/commands/status.ts +42 -1
- package/src/connections-store.ts +15 -2
- package/src/git-notify.ts +34 -5
- package/src/grants-store.ts +15 -2
- package/src/help.ts +3 -3
- package/src/hub-instance.ts +365 -0
- package/src/hub-server.ts +89 -1
- package/src/install-source.ts +1 -1
- package/src/service-spec.ts +36 -44
- package/src/services-manifest.ts +1 -1
- package/src/stale-module-units.ts +2 -2
- package/src/well-known.ts +3 -3
package/src/services-manifest.ts
CHANGED
|
@@ -124,7 +124,7 @@ const UI_AUDIENCE_VALUES: readonly UiAudience[] = ["public", "hub-users", "opera
|
|
|
124
124
|
* one shot without touching its siblings.
|
|
125
125
|
*
|
|
126
126
|
* Backwards-compat: this is purely additive. Modules that don't use `uis`
|
|
127
|
-
* (vault, scribe, notes
|
|
127
|
+
* (vault, scribe, notes today) continue to render as flat rows;
|
|
128
128
|
* the field is optional throughout the read + write paths.
|
|
129
129
|
*/
|
|
130
130
|
export interface UiSubUnit {
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* SCOPE + OWNERSHIP SAFETY (the hard constraint): we ONLY ever disable a unit
|
|
23
23
|
* whose name EXACTLY matches `parachute-<short>.service` (systemd) or
|
|
24
24
|
* `computer.parachute.<short>` (launchd) for a KNOWN module short
|
|
25
|
-
* (`knownServices()` — vault / scribe /
|
|
25
|
+
* (`knownServices()` — vault / scribe / surface / notes / agent). We
|
|
26
26
|
* NEVER disable an arbitrary or unrecognized unit — an unknown unit is invisible
|
|
27
27
|
* to this sweep by construction (we look up exact names, never enumerate-and-
|
|
28
28
|
* match-loosely). On top of that we EXPLICITLY exclude the units the supervised
|
|
@@ -98,7 +98,7 @@ function isProtectedLaunchdLabel(label: string): boolean {
|
|
|
98
98
|
/**
|
|
99
99
|
* The module shorts whose stale standalone autostart units the sweep targets.
|
|
100
100
|
* Derived from `knownServices()` (the canonical FIRST_PARTY_FALLBACKS +
|
|
101
|
-
* KNOWN_MODULES list — vault / scribe /
|
|
101
|
+
* KNOWN_MODULES list — vault / scribe / surface / notes / agent), so
|
|
102
102
|
* a future module is covered automatically. `hub` is deliberately NOT in that
|
|
103
103
|
* list — the hub unit is the supervised model itself; we never disable it. As a
|
|
104
104
|
* defensive double-check we also drop any short whose derived unit name lands in
|
package/src/well-known.ts
CHANGED
|
@@ -88,7 +88,7 @@ export interface WellKnownServicesEntry {
|
|
|
88
88
|
* Sub-units hosted under this module, surfaced as an array (the on-disk
|
|
89
89
|
* shape is a map; the well-known shape is an array so consumers iterate
|
|
90
90
|
* cleanly). Each entry promotes the map key into `name`. Absent on
|
|
91
|
-
* modules that don't declare `uis` (vault, scribe, notes
|
|
91
|
+
* modules that don't declare `uis` (vault, scribe, notes today).
|
|
92
92
|
* See `UiSubUnit` in services-manifest.ts + parachute-app design doc §12.
|
|
93
93
|
*/
|
|
94
94
|
uis?: WellKnownUiSubUnit[];
|
|
@@ -318,8 +318,8 @@ export function buildWellKnown(opts: BuildWellKnownOpts): WellKnownDocument {
|
|
|
318
318
|
// an array of records so JS consumers iterate cleanly without a second
|
|
319
319
|
// Object.entries round-trip. `name` promotes the map key into a field
|
|
320
320
|
// — same convention as `WellKnownVaultEntry`. Absent on the parent
|
|
321
|
-
// when the entry doesn't declare `uis`, so vault / notes / scribe
|
|
322
|
-
//
|
|
321
|
+
// when the entry doesn't declare `uis`, so vault / notes / scribe
|
|
322
|
+
// rows stay byte-identical to their pre-#313 shape.
|
|
323
323
|
//
|
|
324
324
|
// Emitted on every path of a multi-path entry — today only vault has
|
|
325
325
|
// multi-path entries, and vault doesn't declare `uis` yet, so the
|