@angelmsger/fx 0.12.0 → 0.14.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/CHANGELOG.md +72 -0
- package/defaults/tools.yaml +14 -2
- package/dist/adapters/ci/jenkins-cli/recipes.js +5 -1
- package/dist/adapters/ci/jenkins-cli/recipes.js.map +1 -1
- package/dist/adapters/family/service.js +5 -0
- package/dist/adapters/family/service.js.map +1 -1
- package/dist/adapters/log-store/openobserve-cli/provider.js +1 -1
- package/dist/adapters/log-store/openobserve-cli/provider.js.map +1 -1
- package/dist/adapters/log-store/openobserve-cli/recipes.js +5 -1
- package/dist/adapters/log-store/openobserve-cli/recipes.js.map +1 -1
- package/dist/adapters/metrics/prometheus-cli/provider.js +1 -1
- package/dist/adapters/metrics/prometheus-cli/provider.js.map +1 -1
- package/dist/adapters/process/deadline-process.js +27 -5
- package/dist/adapters/process/deadline-process.js.map +1 -1
- package/dist/application/hook/observe.js +9 -3
- package/dist/application/hook/observe.js.map +1 -1
- package/dist/application/init/standalone.js +328 -0
- package/dist/application/init/standalone.js.map +1 -0
- package/dist/application/login/verify.js +4 -2
- package/dist/application/login/verify.js.map +1 -1
- package/dist/application/release/repo.js +4 -2
- package/dist/application/release/repo.js.map +1 -1
- package/dist/application/self/update.js +84 -27
- package/dist/application/self/update.js.map +1 -1
- package/dist/application/skill/copies.js +19 -2
- package/dist/application/skill/copies.js.map +1 -1
- package/dist/application/skill/fx-copies.js.map +1 -1
- package/dist/application/skill/standalone-targets.js +8 -4
- package/dist/application/skill/standalone-targets.js.map +1 -1
- package/dist/application/skill/standalone.js +24 -2
- package/dist/application/skill/standalone.js.map +1 -1
- package/dist/application/skill/tool-skills.js +26 -0
- package/dist/application/skill/tool-skills.js.map +1 -1
- package/dist/application/tool/install.js +10 -22
- package/dist/application/tool/install.js.map +1 -1
- package/dist/application/tool/show.js +6 -1
- package/dist/application/tool/show.js.map +1 -1
- package/dist/application/tool/toolchain.js +1 -1
- package/dist/application/tool/toolchain.js.map +1 -1
- package/dist/application/tool/with-skills.js +68 -0
- package/dist/application/tool/with-skills.js.map +1 -0
- package/dist/application/update/notices.js +1 -1
- package/dist/application/update/notices.js.map +1 -1
- package/dist/cli/base.js +6 -1
- package/dist/cli/base.js.map +1 -1
- package/dist/cli/commands/index.js +2 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.js +27 -4
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/skill/update.js +17 -0
- package/dist/cli/commands/skill/update.js.map +1 -0
- package/dist/cli/preparation-view.js +63 -4
- package/dist/cli/preparation-view.js.map +1 -1
- package/dist/cli/skill-command.js +1 -1
- package/dist/cli/skill-command.js.map +1 -1
- package/dist/cli/tool-command.js +10 -5
- package/dist/cli/tool-command.js.map +1 -1
- package/dist/composition/command-wiring.js +14 -0
- package/dist/composition/command-wiring.js.map +1 -1
- package/dist/composition/tool-install.js +9 -0
- package/dist/composition/tool-install.js.map +1 -1
- package/dist/composition/update.js +2 -0
- package/dist/composition/update.js.map +1 -1
- package/dist/domain/manifest/rules/tools.js +1 -0
- package/dist/domain/manifest/rules/tools.js.map +1 -1
- package/dist/domain/manifest/tools.schema.js +6 -0
- package/dist/domain/manifest/tools.schema.js.map +1 -1
- package/dist/domain/preparation.js.map +1 -1
- package/dist/domain/release/version.js +5 -3
- package/dist/domain/release/version.js.map +1 -1
- package/dist/domain/setup/planner.js +5 -1
- package/dist/domain/setup/planner.js.map +1 -1
- package/dist/domain/setup/types.js.map +1 -1
- package/dist/domain/toolchain/resolve.js +26 -16
- package/dist/domain/toolchain/resolve.js.map +1 -1
- package/package.json +1 -1
- package/skills/fx-workspace/SKILL.md +6 -6
- package/skills/fx-workspace/references/commands.md +12 -4
- package/skills/fx-workspace/references/initialization.md +17 -0
- package/skills/fx-workspace/references/workspace-tasks.md +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,78 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## 0.14.0 (2026-10-28)
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Refresh Skills when tools change. `fx tool install` and `fx tool update` have each
|
|
10
|
+
tool they installed or updated install its Skill again for your coding agents, so
|
|
11
|
+
the agents read the instructions of the version now on PATH; each row gains
|
|
12
|
+
`skill`. `fx self update` ends by having the newly installed fx refresh the copies
|
|
13
|
+
of its own Skill that are older than it, reported as `skill_refresh`, and the new
|
|
14
|
+
`fx skill update` does that on its own: it refreshes only recognized copies older
|
|
15
|
+
than the running fx, in every agent's directory, and installs none. Keeping
|
|
16
|
+
everything current is `fx self update --yes` and `fx tool update --all`.
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- Update only installed tools with `fx tool update --all`. Outside a workspace it
|
|
21
|
+
used to take the whole catalog and install every tool not yet there; inside one it
|
|
22
|
+
installed the workspace's missing tools. It now leaves those to
|
|
23
|
+
`fx tool install --all`, and inside a workspace a `TOOLS_NOT_INSTALLED` notice names
|
|
24
|
+
them. The `FX_OUTDATED` notice no longer suggests `fx skill install`.
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
|
|
28
|
+
- Prefer the root `VERSION` file over dependency metadata in `fx release check`,
|
|
29
|
+
so services with a separate release version no longer show a missing or package-only
|
|
30
|
+
version. Dependency checks continue to inspect the dependency file.
|
|
31
|
+
|
|
32
|
+
## 0.13.0 (2026-10-27)
|
|
33
|
+
|
|
34
|
+
### Added
|
|
35
|
+
|
|
36
|
+
- Set up companion tools without a manifest. `fx init` with no directory and no source
|
|
37
|
+
lists the tools in fx's catalog and asks which to set up, by number or name, with
|
|
38
|
+
Enter taking all of them; `fx init --tools <name,...>` or `--tools all` names them
|
|
39
|
+
for agents and scripts, and `--dry-run` previews. fx installs the tools that are
|
|
40
|
+
missing, has each one install its Skill for your coding agents, adds its own
|
|
41
|
+
`fx-workspace` Skill, and checks whether each one is signed in. On a terminal it
|
|
42
|
+
offers to start the setup of a tool that is not signed in (`<tool> config init`,
|
|
43
|
+
`gh auth login`), which asks for the service and your credentials; otherwise, and
|
|
44
|
+
with `--yes`, the report hands that command to you. No workspace is registered, and
|
|
45
|
+
a manifest still decides the tools and presets the services they point at. The JSON
|
|
46
|
+
report has `tools`, `tool_install` and `skills`, and `preparation.scope.workspace`
|
|
47
|
+
is `null`.
|
|
48
|
+
- Let a tool's `auth` in the catalog or a manifest name the JSON field its status must
|
|
49
|
+
report (`json`) and the tool's own interactive setup (`login`). The bundled catalog
|
|
50
|
+
names both for the family CLIs and `login` for `gh`, and `fx tool show` reports them.
|
|
51
|
+
|
|
52
|
+
### Changed
|
|
53
|
+
|
|
54
|
+
- Tell a companion's reuse check in a background hook run how long the run can give
|
|
55
|
+
it, through the companion's own `--timeout`, and leave the check unasked when that is
|
|
56
|
+
under the ten seconds by which a companion bounds the lookups a reuse adds. The check
|
|
57
|
+
used to be ended when the run's time for it ran out. The reuse step's `verify` in
|
|
58
|
+
`fx login --list` and the init preview gains `deadline`, with the flag and the least
|
|
59
|
+
time the check needs (`minimumMs`).
|
|
60
|
+
- Record `LOGIN_UNCHECKED` in place of `LOGIN_REQUIRED` when every login check of a
|
|
61
|
+
background hook run that did not pass was not asked or gave no answer, which
|
|
62
|
+
`fx doctor` reports as incomplete coverage, as when the run ran out of time for it.
|
|
63
|
+
|
|
64
|
+
### Fixed
|
|
65
|
+
|
|
66
|
+
- Count a Jenkins or OpenObserve environment as signed in only when
|
|
67
|
+
`jenkins-cli auth status` or `openobserve-cli auth status` reports
|
|
68
|
+
`authenticated: true`. Both exit zero when nobody is signed in, so on a machine
|
|
69
|
+
without credentials the sign-in step counted as done and `fx init` and `fx sync`
|
|
70
|
+
did not ask for it.
|
|
71
|
+
- Leave the declared authentication method out of the OpenObserve and Prometheus
|
|
72
|
+
commands `fx where` prints and probes, as checks have done since 0.9.1. A probe of
|
|
73
|
+
an OpenObserve context that uses basic authentication was sent with
|
|
74
|
+
`--auth-scheme session` and refused; the commands now name only the server's URL
|
|
75
|
+
and organization besides the context.
|
|
76
|
+
|
|
5
77
|
## 0.12.0 (2026-10-19)
|
|
6
78
|
|
|
7
79
|
### Added
|
package/defaults/tools.yaml
CHANGED
|
@@ -14,7 +14,7 @@ defaults:
|
|
|
14
14
|
version_args: [--version]
|
|
15
15
|
install: [{ via: npm }]
|
|
16
16
|
skill: { command: [skill, install], dir_flag: --dir }
|
|
17
|
-
auth: { command: [auth, status] }
|
|
17
|
+
auth: { command: [auth, status], json: { path: configured, equals: true }, login: [config, init] }
|
|
18
18
|
tools:
|
|
19
19
|
- name: bitbucket-cli
|
|
20
20
|
desc: Repositories, forks, pull requests and code review on Bitbucket
|
|
@@ -30,16 +30,28 @@ tools:
|
|
|
30
30
|
min_version: '0.10.0'
|
|
31
31
|
desc: Jobs, builds and console output in Jenkins
|
|
32
32
|
install: [{ via: npm, spec: '@angelmsger/jenkins-cli' }]
|
|
33
|
+
auth:
|
|
34
|
+
command: [auth, status]
|
|
35
|
+
json: { path: authenticated, equals: true }
|
|
36
|
+
login: [config, init]
|
|
33
37
|
docs: https://github.com/AngelMsger/jenkins-cli
|
|
34
38
|
- name: openobserve-cli
|
|
35
39
|
min_version: '0.14.0'
|
|
36
40
|
desc: Logs, metrics and traces in OpenObserve
|
|
37
41
|
install: [{ via: npm, spec: '@angelmsger/openobserve-cli' }]
|
|
42
|
+
auth:
|
|
43
|
+
command: [auth, status]
|
|
44
|
+
json: { path: authenticated, equals: true }
|
|
45
|
+
login: [config, init]
|
|
38
46
|
docs: https://github.com/AngelMsger/openobserve-cli
|
|
39
47
|
- name: prometheus-cli
|
|
40
48
|
min_version: '0.2.0'
|
|
41
49
|
desc: PromQL queries, series discovery, scrape targets and alerts in Prometheus
|
|
42
50
|
install: [{ via: npm, spec: '@angelmsger/prometheus-cli' }]
|
|
51
|
+
auth:
|
|
52
|
+
command: [auth, status]
|
|
53
|
+
json: { path: authenticated, equals: true }
|
|
54
|
+
login: [config, init]
|
|
43
55
|
docs: https://github.com/AngelMsger/prometheus-cli
|
|
44
56
|
- name: jira-cli
|
|
45
57
|
min_version: '0.7.0'
|
|
@@ -58,7 +70,7 @@ tools:
|
|
|
58
70
|
- { via: brew, spec: gh }
|
|
59
71
|
- { via: manual }
|
|
60
72
|
skill: { command: [] }
|
|
61
|
-
auth: { command: [auth, status] }
|
|
73
|
+
auth: { command: [auth, status], login: [auth, login] }
|
|
62
74
|
docs: https://cli.github.com/
|
|
63
75
|
- name: sentry
|
|
64
76
|
min_version: '0.44.1'
|
|
@@ -9,7 +9,11 @@ export const JENKINS_RECIPES = [
|
|
|
9
9
|
title: 'Log in to Jenkins',
|
|
10
10
|
instructions: 'Prompts for your user name and an API token (Jenkins: your profile → Configure → API Token).',
|
|
11
11
|
run: ['auth', 'login'],
|
|
12
|
-
|
|
12
|
+
// `auth status` exits zero when nobody is signed in, so only `authenticated` tells.
|
|
13
|
+
verify: {
|
|
14
|
+
command: ['auth', 'status'],
|
|
15
|
+
json: { path: 'authenticated', equals: true, reason: 'error' },
|
|
16
|
+
},
|
|
13
17
|
},
|
|
14
18
|
];
|
|
15
19
|
//# sourceMappingURL=recipes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipes.js","sourceRoot":"","sources":["../../../../src/adapters/ci/jenkins-cli/recipes.ts"],"names":[],"mappings":"AAAA,uEAAuE;AAIvE,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,mBAAmB;QAC1B,YAAY,EACV,8FAA8F;QAChG,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACtB,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"recipes.js","sourceRoot":"","sources":["../../../../src/adapters/ci/jenkins-cli/recipes.ts"],"names":[],"mappings":"AAAA,uEAAuE;AAIvE,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,mBAAmB;QAC1B,YAAY,EACV,8FAA8F;QAChG,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACtB,oFAAoF;QACpF,MAAM,EAAE;YACN,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;YAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;SAC/D;KACF;CACF,CAAC"}
|
|
@@ -56,6 +56,10 @@ export function signInFlags(settings) {
|
|
|
56
56
|
function flagsOf(settings, keys) {
|
|
57
57
|
return keys.flatMap((key) => settings[key] === undefined ? [] : [`--${key.replaceAll('_', '-')}`, settings[key]]);
|
|
58
58
|
}
|
|
59
|
+
// A companion bounds the lookups a reuse adds by ten seconds, or by a shorter `--timeout`.
|
|
60
|
+
// A lookup cut short still answers that nothing would change, which this check reads as
|
|
61
|
+
// passing, so the check is not asked with less than the full ten seconds.
|
|
62
|
+
const REUSE_DEADLINE = { flag: '--timeout', minimumMs: 10_000 };
|
|
59
63
|
function reuseRecipe(tool, scope) {
|
|
60
64
|
return {
|
|
61
65
|
id: 'reuse',
|
|
@@ -69,6 +73,7 @@ function reuseRecipe(tool, scope) {
|
|
|
69
73
|
verify: {
|
|
70
74
|
command: [...scope, 'auth', 'reuse', '--dry-run', '--format', 'json'],
|
|
71
75
|
json: { path: 'changed', equals: false, unmet: 'an existing login can be reused' },
|
|
76
|
+
deadline: REUSE_DEADLINE,
|
|
72
77
|
},
|
|
73
78
|
};
|
|
74
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/adapters/family/service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/adapters/family/service.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,QAAyB,EACzB,UAAkB,EAClB,WAAW,GAAG,YAAY;IAE1B,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACtD,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,MAAM,MAAM,GAAG,CAAC,KAAwB,EAAY,EAAE,CAAC;QACrD,QAAQ;QACR,aAAa;QACb,OAAO;QACP,GAAG,KAAK;QACR,UAAU;QACV,MAAM;KACP,CAAC;IACF,OAAO;QACL,WAAW,EAAE;YACX,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,OAAO;YACjB,UAAU;YACV,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SACvC;QACD,OAAO,EAAE;YACP,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;YACxB;gBACE,EAAE,EAAE,YAAY;gBAChB,IAAI;gBACJ,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,cAAc;gBACrB,QAAQ,EAAE,CAAC,OAAO,CAAC;gBACnB,KAAK,EAAE,gBAAgB,IAAI,4BAA4B;gBACvD,YAAY,EAAE,kDAAkD,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,kGAAkG;gBACzL,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,GAAG,EAAE,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;gBAC5C,MAAM,EAAE;oBACN,OAAO,EAAE,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC;oBACzD,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;iBAC3D;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,YAAY,CAAC,QAAyB;IACpD,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7F,CAAC;AAID,yFAAyF;AACzF,6FAA6F;AAC7F,MAAM,UAAU,YAAY,CAAC,QAAkB;IAC7C,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,wFAAwF;AACxF,+EAA+E;AAC/E,MAAM,UAAU,WAAW,CAAC,QAAkB;IAC5C,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,OAAO,CAAC,QAAkB,EAAE,IAAuB;IAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1B,QAAQ,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CACpF,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,wFAAwF;AACxF,0EAA0E;AAC1E,MAAM,cAAc,GAAoB,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAEjF,SAAS,WAAW,CAAC,IAAY,EAAE,KAAwB;IACzD,OAAO;QACL,EAAE,EAAE,OAAO;QACX,IAAI;QACJ,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,qBAAqB,IAAI,QAAQ;QACxC,YAAY,EACV,+JAA+J;QACjK,GAAG,EAAE,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC;QACpD,MAAM,EAAE;YACN,OAAO,EAAE,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC;YACrE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,iCAAiC,EAAE;YAClF,QAAQ,EAAE,cAAc;SACzB;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -23,7 +23,7 @@ export const openobserveCliProvider = {
|
|
|
23
23
|
id: 'openobserve-cli',
|
|
24
24
|
capability: 'log-store',
|
|
25
25
|
label: 'OpenObserve stream {stream}',
|
|
26
|
-
optionalFlags: { base_url: '--base-url', org: '--org'
|
|
26
|
+
optionalFlags: { base_url: '--base-url', org: '--org' },
|
|
27
27
|
command: [
|
|
28
28
|
'openobserve-cli',
|
|
29
29
|
'search',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../src/adapters/log-store/openobserve-cli/provider.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,2DAA2D;AAI3D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,CAAC,MAAM,sBAAsB,GAAiC;IAClE,EAAE,EAAE,iBAAiB;IACrB,UAAU,EAAE,WAAW;IACvB,iBAAiB,EAAE,CAAC,aAAa,CAAC;IAClC,QAAQ,EAAE;QACR,MAAM,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,gBAAgB,CAAC;QACvE,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC;KAC3C;IACD,KAAK,EAAE,CAAC,iBAAiB,CAAC;IAC1B,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC;IAC5F,OAAO,EAAE,mBAAmB;IAC5B,IAAI,EAAE,EAAE;IACR,OAAO,EAAE;QACP,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,mDAAmD,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC9F,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,oCAAoC,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/E;IACD,MAAM,EAAE,GAAG,EAAE,CACX,IAAI,gBAAgB,CAAC;QACnB,EAAE,EAAE,iBAAiB;QACrB,UAAU,EAAE,WAAW;QACvB,KAAK,EAAE,6BAA6B;QACpC,aAAa,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../src/adapters/log-store/openobserve-cli/provider.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,2DAA2D;AAI3D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,CAAC,MAAM,sBAAsB,GAAiC;IAClE,EAAE,EAAE,iBAAiB;IACrB,UAAU,EAAE,WAAW;IACvB,iBAAiB,EAAE,CAAC,aAAa,CAAC;IAClC,QAAQ,EAAE;QACR,MAAM,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,gBAAgB,CAAC;QACvE,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC;KAC3C;IACD,KAAK,EAAE,CAAC,iBAAiB,CAAC;IAC1B,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC;IAC5F,OAAO,EAAE,mBAAmB;IAC5B,IAAI,EAAE,EAAE;IACR,OAAO,EAAE;QACP,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,mDAAmD,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC9F,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,oCAAoC,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/E;IACD,MAAM,EAAE,GAAG,EAAE,CACX,IAAI,gBAAgB,CAAC;QACnB,EAAE,EAAE,iBAAiB;QACrB,UAAU,EAAE,WAAW;QACvB,KAAK,EAAE,6BAA6B;QACpC,aAAa,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE;QACvD,OAAO,EAAE;YACP,iBAAiB;YACjB,QAAQ;YACR,KAAK;YACL,eAAe;YACf,WAAW;YACX,UAAU;YACV,UAAU;YACV,QAAQ;YACR,QAAQ;SACT;QACD,KAAK,EAAE;YACL,KAAK,EAAE,iBAAiB;YACxB,OAAO,EAAE;gBACP,iBAAiB;gBACjB,QAAQ;gBACR,KAAK;gBACL,eAAe;gBACf,WAAW;gBACX,IAAI;gBACJ,UAAU;aACX;SACF;KACF,CAAC;CACL,CAAC"}
|
|
@@ -10,7 +10,11 @@ export const OPENOBSERVE_RECIPES = [
|
|
|
10
10
|
title: 'Add the OpenObserve context "{context}" for {env}',
|
|
11
11
|
instructions: 'The wizard asks for the server URL, organization and credentials of the {env} OpenObserve.',
|
|
12
12
|
run: ['config', 'init', '--context', '{context}'],
|
|
13
|
-
|
|
13
|
+
// `auth status` exits zero when nobody is signed in, so only `authenticated` tells.
|
|
14
|
+
verify: {
|
|
15
|
+
command: ['auth', 'status', '--use-context', '{context}'],
|
|
16
|
+
json: { path: 'authenticated', equals: true, reason: 'error' },
|
|
17
|
+
},
|
|
14
18
|
},
|
|
15
19
|
];
|
|
16
20
|
//# sourceMappingURL=recipes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipes.js","sourceRoot":"","sources":["../../../../src/adapters/log-store/openobserve-cli/recipes.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,8CAA8C;AAI9C,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD;QACE,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,mDAAmD;QAC1D,YAAY,EACV,4FAA4F;QAC9F,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC;QACjD,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"recipes.js","sourceRoot":"","sources":["../../../../src/adapters/log-store/openobserve-cli/recipes.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,8CAA8C;AAI9C,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD;QACE,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,mDAAmD;QAC1D,YAAY,EACV,4FAA4F;QAC9F,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC;QACjD,oFAAoF;QACpF,MAAM,EAAE;YACN,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,CAAC;YACzD,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;SAC/D;KACF;CACF,CAAC"}
|
|
@@ -25,7 +25,7 @@ export const prometheusCliProvider = {
|
|
|
25
25
|
id: BINARY,
|
|
26
26
|
capability: 'metrics',
|
|
27
27
|
label: 'Prometheus job {job}',
|
|
28
|
-
optionalFlags: { base_url: '--base-url'
|
|
28
|
+
optionalFlags: { base_url: '--base-url' },
|
|
29
29
|
command: [
|
|
30
30
|
BINARY,
|
|
31
31
|
'query',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../src/adapters/metrics/prometheus-cli/provider.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,yFAAyF;AACzF,yFAAyF;AACzF,wEAAwE;AAIxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,CAAC,MAAM,qBAAqB,GAAgC;IAChE,EAAE,EAAE,MAAM;IACV,UAAU,EAAE,SAAS;IACrB,iBAAiB,EAAE,CAAC,YAAY,CAAC;IACjC,QAAQ,EAAE;QACR,MAAM,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,CAAC;QAChE,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;KACzC;IACD,KAAK,EAAE,CAAC,MAAM,CAAC;IACf,OAAO,EAAE,iBAAiB;IAC1B,OAAO,EAAE,kBAAkB;IAC3B,IAAI,EAAE,EAAE;IACR,OAAO,EAAE;QACP,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,kDAAkD,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7F,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,oCAAoC,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC5E;IACD,MAAM,EAAE,GAAG,EAAE,CACX,IAAI,gBAAgB,CAAC;QACnB,EAAE,EAAE,MAAM;QACV,UAAU,EAAE,SAAS;QACrB,KAAK,EAAE,sBAAsB;QAC7B,aAAa,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../src/adapters/metrics/prometheus-cli/provider.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,yFAAyF;AACzF,yFAAyF;AACzF,wEAAwE;AAIxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,CAAC,MAAM,qBAAqB,GAAgC;IAChE,EAAE,EAAE,MAAM;IACV,UAAU,EAAE,SAAS;IACrB,iBAAiB,EAAE,CAAC,YAAY,CAAC;IACjC,QAAQ,EAAE;QACR,MAAM,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,CAAC;QAChE,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;KACzC;IACD,KAAK,EAAE,CAAC,MAAM,CAAC;IACf,OAAO,EAAE,iBAAiB;IAC1B,OAAO,EAAE,kBAAkB;IAC3B,IAAI,EAAE,EAAE;IACR,OAAO,EAAE;QACP,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,kDAAkD,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7F,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,oCAAoC,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC5E;IACD,MAAM,EAAE,GAAG,EAAE,CACX,IAAI,gBAAgB,CAAC;QACnB,EAAE,EAAE,MAAM;QACV,UAAU,EAAE,SAAS;QACrB,KAAK,EAAE,sBAAsB;QAC7B,aAAa,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;QACzC,OAAO,EAAE;YACP,MAAM;YACN,OAAO;YACP,SAAS;YACT,eAAe;YACf,WAAW;YACX,SAAS;YACT,iBAAiB;SAClB;KACF,CAAC;CACL,CAAC"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
// A lifecycle worker lends every companion command the remaining task budget
|
|
2
|
-
//
|
|
1
|
+
// A lifecycle worker lends every companion command the remaining task budget, and tells
|
|
2
|
+
// a command that takes a deadline of its own what it was lent. The underlying process
|
|
3
|
+
// adapter retains responsibility for cancellation.
|
|
4
|
+
import { DevkitError } from '../../domain/errors.js';
|
|
5
|
+
// A command is told at least this much less than it is lent, so it answers before it is ended.
|
|
6
|
+
const ANSWER_MS = 1000;
|
|
3
7
|
export class DeadlineProcess {
|
|
4
8
|
process;
|
|
5
9
|
budget;
|
|
@@ -12,14 +16,32 @@ export class DeadlineProcess {
|
|
|
12
16
|
which(binary, options) {
|
|
13
17
|
return this.process.which(binary, options);
|
|
14
18
|
}
|
|
15
|
-
run(vector, options = {}) {
|
|
19
|
+
async run(vector, options = {}) {
|
|
16
20
|
const { commandMs } = this.budget;
|
|
17
|
-
|
|
21
|
+
const lentMs = Math.max(1, Math.min(options.timeoutMs ?? commandMs, commandMs, this.deadline - performance.now()));
|
|
22
|
+
const told = options.deadline === undefined ? vector : tell(vector, options.deadline, lentMs);
|
|
23
|
+
return this.process.run(told, {
|
|
18
24
|
...options,
|
|
19
25
|
interactive: false,
|
|
20
|
-
timeoutMs:
|
|
26
|
+
timeoutMs: lentMs,
|
|
21
27
|
env: { ...options.env, GIT_TERMINAL_PROMPT: '0', GCM_INTERACTIVE: 'Never' },
|
|
22
28
|
});
|
|
23
29
|
}
|
|
24
30
|
}
|
|
31
|
+
// The flag goes before an end-of-options separator, where the command still reads flags.
|
|
32
|
+
function tell(vector, deadline, lentMs) {
|
|
33
|
+
const seconds = Math.floor((lentMs - ANSWER_MS) / 1000);
|
|
34
|
+
if (seconds * 1000 < deadline.minimumMs)
|
|
35
|
+
throw shortOf(vector, lentMs, deadline);
|
|
36
|
+
const separator = vector.indexOf('--');
|
|
37
|
+
const at = separator < 0 ? vector.length : separator;
|
|
38
|
+
return [...vector.slice(0, at), deadline.flag, `${seconds}s`, ...vector.slice(at)];
|
|
39
|
+
}
|
|
40
|
+
function shortOf(vector, lentMs, deadline) {
|
|
41
|
+
const needs = Math.ceil((deadline.minimumMs + ANSWER_MS) / 1000);
|
|
42
|
+
return new DevkitError('internal', 'PROCESS_TIMEOUT', `${vector[0] ?? ''} was not started with ${Math.floor(lentMs / 1000)}s of the run left`, {
|
|
43
|
+
hint: `It needs ${needs}s to answer, so the run left it unasked rather than end it early.`,
|
|
44
|
+
nextSteps: [`Run \`${vector.join(' ')}\` by hand to see its answer.`],
|
|
45
|
+
});
|
|
46
|
+
}
|
|
25
47
|
//# sourceMappingURL=deadline-process.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deadline-process.js","sourceRoot":"","sources":["../../../src/adapters/process/deadline-process.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"deadline-process.js","sourceRoot":"","sources":["../../../src/adapters/process/deadline-process.ts"],"names":[],"mappings":"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"}
|
|
@@ -122,9 +122,15 @@ async function checkSelf(deps) {
|
|
|
122
122
|
async function checkServices(deps) {
|
|
123
123
|
const context = await deps.context();
|
|
124
124
|
const findings = await Tally.during(context.activity, 'checks', (checks) => checkLogin(context, deps.login, {}, checks));
|
|
125
|
-
return [
|
|
126
|
-
|
|
127
|
-
|
|
125
|
+
return [observer(deps, 'checks')(loginCode(findings), 'fx login --list')];
|
|
126
|
+
}
|
|
127
|
+
// Only a finding with evidence asks for a login. One whose coverage is incomplete, a
|
|
128
|
+
// check that was not asked or gave no answer in the time the run had, leaves it unknown.
|
|
129
|
+
function loginCode(findings) {
|
|
130
|
+
const open = findings.filter((finding) => finding.level !== 'ok');
|
|
131
|
+
if (open.some((finding) => finding.coverage === 'checked'))
|
|
132
|
+
return 'LOGIN_REQUIRED';
|
|
133
|
+
return open.length > 0 ? 'LOGIN_UNCHECKED' : 'LOGIN_CHECKED';
|
|
128
134
|
}
|
|
129
135
|
async function updatesEnabled(deps) {
|
|
130
136
|
return readSettings({ env: deps.env, file: await deps.config.read() }).updateCheck;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../../../src/application/hook/observe.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2EAA2E;AAC3E,wEAAwE;
|
|
1
|
+
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../../../src/application/hook/observe.ts"],"names":[],"mappings":"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"}
|