@aligndottech/cli 0.63.0 → 0.64.1
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/README.md +3 -2
- package/dist/cli.d.ts +2 -2
- package/dist/cli.js +6 -6
- package/dist/cli.js.map +1 -1
- package/dist/commands/adjudicate.d.ts +3 -3
- package/dist/commands/capture.js +2 -2
- package/dist/commands/capture.js.map +1 -1
- package/dist/commands/check.d.ts +1 -1
- package/dist/commands/check.js +30 -30
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/connect-agents.d.ts +4 -2
- package/dist/commands/connect-agents.d.ts.map +1 -1
- package/dist/commands/connect-agents.js +7 -7
- package/dist/commands/connect-agents.js.map +1 -1
- package/dist/commands/connect.d.ts +1 -1
- package/dist/commands/connector/index.js +1 -1
- package/dist/commands/connector/index.js.map +1 -1
- package/dist/commands/context.d.ts +4 -4
- package/dist/commands/context.js +7 -7
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/decisions/index.js +4 -4
- package/dist/commands/decisions/index.js.map +1 -1
- package/dist/commands/default-action.d.ts.map +1 -1
- package/dist/commands/default-action.js +8 -5
- package/dist/commands/default-action.js.map +1 -1
- package/dist/commands/glossary.d.ts +1 -1
- package/dist/commands/import/confluence.js +1 -1
- package/dist/commands/import/confluence.js.map +1 -1
- package/dist/commands/import/git.js +4 -4
- package/dist/commands/import/git.js.map +1 -1
- package/dist/commands/import/jira.js +1 -1
- package/dist/commands/import/jira.js.map +1 -1
- package/dist/commands/import/sessions.d.ts +6 -6
- package/dist/commands/import/sessions.js +10 -10
- package/dist/commands/import/sessions.js.map +1 -1
- package/dist/commands/import.d.ts +2 -2
- package/dist/commands/import.js +2 -2
- package/dist/commands/invite.d.ts +1 -1
- package/dist/commands/invite.js +1 -1
- package/dist/commands/invite.js.map +1 -1
- package/dist/commands/local.js +3 -3
- package/dist/commands/local.js.map +1 -1
- package/dist/commands/mcp.d.ts +4 -4
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +34 -35
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/ratify.d.ts +1 -1
- package/dist/commands/ratify.js +1 -1
- package/dist/commands/ratify.js.map +1 -1
- package/dist/commands/registry.d.ts +2 -2
- package/dist/commands/registry.js +3 -3
- package/dist/commands/registry.js.map +1 -1
- package/dist/commands/search.js +2 -2
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/setup.d.ts +14 -10
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +133 -75
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/status.js +2 -2
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/telemetry.d.ts +2 -2
- package/dist/commands/telemetry.js +3 -3
- package/dist/commands/telemetry.js.map +1 -1
- package/dist/commands/why.js +31 -31
- package/dist/commands/why.js.map +1 -1
- package/dist/detector/local-model-default.d.ts +1 -1
- package/dist/detector/local-model-default.js +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/access-capability.d.ts +1 -1
- package/dist/lib/access-capability.js +1 -1
- package/dist/lib/advisory-verdict.d.ts +3 -3
- package/dist/lib/advisory-verdict.js +3 -3
- package/dist/lib/agent-rules.d.ts +9 -0
- package/dist/lib/agent-rules.d.ts.map +1 -1
- package/dist/lib/agent-rules.js +55 -39
- package/dist/lib/agent-rules.js.map +1 -1
- package/dist/lib/approve-suggestions.d.ts +1 -1
- package/dist/lib/approve-suggestions.js +1 -1
- package/dist/lib/as-of.d.ts +6 -6
- package/dist/lib/as-of.js +6 -6
- package/dist/lib/ask-evidence.js +1 -1
- package/dist/lib/ask-key-offer.js +1 -1
- package/dist/lib/ask-listing.js +1 -1
- package/dist/lib/brand.d.ts +2 -2
- package/dist/lib/brand.js +3 -3
- package/dist/lib/capture-report.d.ts +1 -1
- package/dist/lib/capture-report.d.ts.map +1 -1
- package/dist/lib/capture-report.js +3 -3
- package/dist/lib/capture-report.js.map +1 -1
- package/dist/lib/capture-sources.d.ts +1 -1
- package/dist/lib/capture-sources.js +1 -1
- package/dist/lib/check-depth.d.ts +1 -1
- package/dist/lib/check-depth.js +1 -1
- package/dist/lib/claude-presence.d.ts +1 -1
- package/dist/lib/claude-presence.js +1 -1
- package/dist/lib/cli-oauth.js +1 -1
- package/dist/lib/cli-oauth.js.map +1 -1
- package/dist/lib/commands-doc.d.ts +1 -1
- package/dist/lib/commands-doc.js +1 -1
- package/dist/lib/commit-cite.js +2 -2
- package/dist/lib/commit-shape.d.ts +1 -1
- package/dist/lib/commit-shape.js +1 -1
- package/dist/lib/config.d.ts +6 -6
- package/dist/lib/config.js +7 -7
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/connect-prompt.d.ts +1 -1
- package/dist/lib/connect-prompt.js +1 -1
- package/dist/lib/decider-kind.d.ts +4 -4
- package/dist/lib/decider-kind.js +4 -4
- package/dist/lib/decision-links.d.ts +7 -8
- package/dist/lib/decision-links.d.ts.map +1 -1
- package/dist/lib/decision-links.js +8 -9
- package/dist/lib/decision-links.js.map +1 -1
- package/dist/lib/decision-refs.d.ts +3 -3
- package/dist/lib/decision-refs.js +4 -4
- package/dist/lib/decision-refs.js.map +1 -1
- package/dist/lib/decision-relations.d.ts +4 -4
- package/dist/lib/decision-relations.js +4 -4
- package/dist/lib/decision-render.d.ts +2 -2
- package/dist/lib/decision-render.d.ts.map +1 -1
- package/dist/lib/decision-render.js +5 -5
- package/dist/lib/decision-render.js.map +1 -1
- package/dist/lib/decisions-context.d.ts +4 -4
- package/dist/lib/decisions-context.js +5 -5
- package/dist/lib/decisions-context.js.map +1 -1
- package/dist/lib/doctor-mcp.js +1 -1
- package/dist/lib/doctor.d.ts +2 -2
- package/dist/lib/embedding-assets.js +1 -1
- package/dist/lib/embedding-runtime.js +1 -1
- package/dist/lib/fetchers/capture.d.ts +1 -1
- package/dist/lib/fetchers/docs.d.ts +1 -1
- package/dist/lib/fetchers/docs.js +5 -5
- package/dist/lib/fetchers/docs.js.map +1 -1
- package/dist/lib/fetchers/git.d.ts +1 -1
- package/dist/lib/fetchers/git.js +1 -1
- package/dist/lib/fetchers/github.d.ts +2 -2
- package/dist/lib/fetchers/github.js +2 -2
- package/dist/lib/fetchers/linear.js +1 -1
- package/dist/lib/fetchers/slack.d.ts +2 -2
- package/dist/lib/fetchers/slack.js +2 -2
- package/dist/lib/first-decision.d.ts +1 -1
- package/dist/lib/first-decision.js +1 -1
- package/dist/lib/first-run-pr-import.d.ts +1 -1
- package/dist/lib/format-date.d.ts +1 -1
- package/dist/lib/format-date.js +1 -1
- package/dist/lib/found-summary.js +4 -4
- package/dist/lib/found-summary.js.map +1 -1
- package/dist/lib/gateway-client.d.ts +27 -27
- package/dist/lib/gateway-client.d.ts.map +1 -1
- package/dist/lib/gateway-client.js +30 -30
- package/dist/lib/gateway-client.js.map +1 -1
- package/dist/lib/git.d.ts +10 -10
- package/dist/lib/git.d.ts.map +1 -1
- package/dist/lib/git.js +12 -12
- package/dist/lib/git.js.map +1 -1
- package/dist/lib/hook-context.js +1 -1
- package/dist/lib/hook-payload.d.ts +1 -1
- package/dist/lib/hybrid-rank.d.ts +3 -3
- package/dist/lib/hybrid-rank.d.ts.map +1 -1
- package/dist/lib/hybrid-rank.js +3 -3
- package/dist/lib/hybrid-rank.js.map +1 -1
- package/dist/lib/import-defaults.d.ts +5 -5
- package/dist/lib/import-defaults.js +3 -3
- package/dist/lib/inline-rules.d.ts +1 -1
- package/dist/lib/inline-rules.js +1 -1
- package/dist/lib/invite-prompt.d.ts +1 -1
- package/dist/lib/invite-prompt.js +1 -1
- package/dist/lib/launch/mcp-child-env.js +1 -1
- package/dist/lib/launch/mcp-child-env.js.map +1 -1
- package/dist/lib/launch/strict-entry.js +2 -2
- package/dist/lib/launch/strict-entry.js.map +1 -1
- package/dist/lib/lexical-store.d.ts +1 -1
- package/dist/lib/lexical-store.js +1 -1
- package/dist/lib/lexical-terms.d.ts +1 -1
- package/dist/lib/lexical-terms.js +1 -1
- package/dist/lib/lexical-text.d.ts +2 -2
- package/dist/lib/lexical-text.js +2 -2
- package/dist/lib/llm-providers.d.ts +1 -1
- package/dist/lib/llm-providers.js +2 -2
- package/dist/lib/llm-providers.js.map +1 -1
- package/dist/lib/llm-trace.d.ts +1 -1
- package/dist/lib/llm-trace.js +1 -1
- package/dist/lib/llm-trace.js.map +1 -1
- package/dist/lib/local-candidate-classify.d.ts +1 -1
- package/dist/lib/local-candidate-classify.js +3 -3
- package/dist/lib/local-candidate-classify.js.map +1 -1
- package/dist/lib/local-db-migrate.d.ts +6 -6
- package/dist/lib/local-db-migrate.js +9 -9
- package/dist/lib/local-db-migrate.js.map +1 -1
- package/dist/lib/local-db-v11.d.ts +1 -1
- package/dist/lib/local-db.d.ts +33 -33
- package/dist/lib/local-db.d.ts.map +1 -1
- package/dist/lib/local-db.js +27 -27
- package/dist/lib/local-db.js.map +1 -1
- package/dist/lib/local-embeddings-native.js +1 -1
- package/dist/lib/local-embeddings.d.ts +2 -2
- package/dist/lib/local-embeddings.js +2 -2
- package/dist/lib/local-embeddings.js.map +1 -1
- package/dist/lib/local-gateway-client.d.ts +5 -5
- package/dist/lib/local-gateway-client.js +40 -40
- package/dist/lib/local-gateway-client.js.map +1 -1
- package/dist/lib/local-ingest.d.ts +3 -3
- package/dist/lib/local-ingest.js +3 -3
- package/dist/lib/local-link-pass.js +1 -1
- package/dist/lib/local-link-pass.js.map +1 -1
- package/dist/lib/local-llm.d.ts +21 -22
- package/dist/lib/local-llm.d.ts.map +1 -1
- package/dist/lib/local-llm.js +28 -30
- package/dist/lib/local-llm.js.map +1 -1
- package/dist/lib/local-mode.d.ts +1 -1
- package/dist/lib/local-mode.js +2 -2
- package/dist/lib/local-mode.js.map +1 -1
- package/dist/lib/local-provenance.d.ts +1 -1
- package/dist/lib/local-provenance.js +1 -1
- package/dist/lib/local-relationship-classifier.d.ts +6 -6
- package/dist/lib/local-relationship-classifier.js +7 -7
- package/dist/lib/local-relationship-classifier.js.map +1 -1
- package/dist/lib/local-thresholds.d.ts +3 -3
- package/dist/lib/local-thresholds.js +4 -4
- package/dist/lib/local-thresholds.js.map +1 -1
- package/dist/lib/mcp/share-status-tool.js +1 -1
- package/dist/lib/mcp/share-tool.js +1 -1
- package/dist/lib/mcp-setup.d.ts +11 -4
- package/dist/lib/mcp-setup.d.ts.map +1 -1
- package/dist/lib/mcp-setup.js +22 -12
- package/dist/lib/mcp-setup.js.map +1 -1
- package/dist/lib/mcp-timeline-tools.d.ts +5 -5
- package/dist/lib/mcp-timeline-tools.d.ts.map +1 -1
- package/dist/lib/mcp-timeline-tools.js +22 -23
- package/dist/lib/mcp-timeline-tools.js.map +1 -1
- package/dist/lib/next-step.d.ts +11 -5
- package/dist/lib/next-step.d.ts.map +1 -1
- package/dist/lib/next-step.js +12 -4
- package/dist/lib/next-step.js.map +1 -1
- package/dist/lib/personal-import.d.ts +3 -3
- package/dist/lib/personal-import.d.ts.map +1 -1
- package/dist/lib/personal-import.js +4 -4
- package/dist/lib/personal-import.js.map +1 -1
- package/dist/lib/personal-oauth.js +3 -3
- package/dist/lib/personal-oauth.js.map +1 -1
- package/dist/lib/query-expand.d.ts +1 -1
- package/dist/lib/query-expand.js +1 -1
- package/dist/lib/read-value-rollup.d.ts +2 -2
- package/dist/lib/read-value-rollup.js +3 -3
- package/dist/lib/read-value-rollup.js.map +1 -1
- package/dist/lib/reason-extract.d.ts +1 -1
- package/dist/lib/reason-extract.js +1 -1
- package/dist/lib/repo-identity.d.ts +2 -2
- package/dist/lib/repo-identity.js +3 -3
- package/dist/lib/resolve-env.d.ts +1 -1
- package/dist/lib/resolve-env.js +1 -1
- package/dist/lib/scope-defaults.js +1 -1
- package/dist/lib/scope-real.d.ts.map +1 -1
- package/dist/lib/scope-real.js +1 -1
- package/dist/lib/scope-real.js.map +1 -1
- package/dist/lib/search-query.d.ts +2 -2
- package/dist/lib/search-query.js +2 -2
- package/dist/lib/search-rerank.d.ts +1 -1
- package/dist/lib/search-rerank.js +1 -1
- package/dist/lib/sessions/confirm-freetext.d.ts +3 -3
- package/dist/lib/sessions/confirm-freetext.d.ts.map +1 -1
- package/dist/lib/sessions/confirm-freetext.js +2 -2
- package/dist/lib/sessions/extract-freetext.d.ts +3 -3
- package/dist/lib/sessions/extract-freetext.d.ts.map +1 -1
- package/dist/lib/sessions/import-summary.d.ts +1 -1
- package/dist/lib/sessions/import-summary.js +1 -1
- package/dist/lib/sessions/memory-files.d.ts +1 -1
- package/dist/lib/sessions/memory-files.js +5 -5
- package/dist/lib/sessions/source-url.d.ts +2 -2
- package/dist/lib/sessions/source-url.js +2 -2
- package/dist/lib/sessions/types.d.ts +6 -6
- package/dist/lib/sessions/types.js +4 -4
- package/dist/lib/setup-funnel.d.ts +2 -2
- package/dist/lib/setup-ux.d.ts +2 -2
- package/dist/lib/setup-ux.js +3 -3
- package/dist/lib/setup-ux.js.map +1 -1
- package/dist/lib/share/approval.js +1 -1
- package/dist/lib/share/browser-flow.d.ts +1 -1
- package/dist/lib/share/browser-flow.js +1 -1
- package/dist/lib/share/command.js +1 -1
- package/dist/lib/share/envelope.js +1 -1
- package/dist/lib/share/pending.d.ts +1 -1
- package/dist/lib/share/requests-client.d.ts +1 -1
- package/dist/lib/share/run.d.ts +1 -1
- package/dist/lib/sparse-graph.d.ts +20 -0
- package/dist/lib/sparse-graph.d.ts.map +1 -0
- package/dist/lib/sparse-graph.js +39 -0
- package/dist/lib/sparse-graph.js.map +1 -0
- package/dist/lib/suppress-sqlite-warning.d.ts +1 -1
- package/dist/lib/sync/real-env.d.ts.map +1 -1
- package/dist/lib/telemetry-env.d.ts +3 -3
- package/dist/lib/telemetry-env.js +1 -1
- package/dist/lib/token-estimate.d.ts +1 -1
- package/dist/lib/token-estimate.js +3 -3
- package/dist/lib/token-estimate.js.map +1 -1
- package/dist/lib/token-scope-gate.d.ts +1 -1
- package/dist/lib/token-scope-gate.js +1 -1
- package/dist/lib/trusted-align-bin.d.ts +2 -2
- package/dist/lib/trusted-align-bin.d.ts.map +1 -1
- package/dist/lib/trusted-align-bin.js +2 -2
- package/dist/lib/trusted-align-bin.js.map +1 -1
- package/dist/lib/usage-telemetry.d.ts +17 -17
- package/dist/lib/usage-telemetry.js +24 -24
- package/dist/lib/usage-telemetry.js.map +1 -1
- package/dist/lib/user-hooks.d.ts +1 -1
- package/dist/lib/user-hooks.d.ts.map +1 -1
- package/dist/lib/user-hooks.js +3 -3
- package/dist/lib/user-hooks.js.map +1 -1
- package/dist/lib/value-rollup.d.ts +7 -7
- package/dist/lib/value-rollup.d.ts.map +1 -1
- package/dist/lib/value-rollup.js +12 -12
- package/dist/lib/value-rollup.js.map +1 -1
- package/dist/lib/write-confirm.d.ts +53 -0
- package/dist/lib/write-confirm.d.ts.map +1 -0
- package/dist/lib/write-confirm.js +70 -0
- package/dist/lib/write-confirm.js.map +1 -0
- package/package.json +7 -7
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* The two environment variables that turn ALL telemetry off - both tiers, the
|
|
3
3
|
* default-on beacons included. Its own module so the one-time notice (telemetry-consent.ts)
|
|
4
4
|
* can ask the same question without importing the emitter, which setup.test.ts mocks down to
|
|
5
5
|
* one function.
|
|
6
6
|
*
|
|
7
7
|
* The two read in opposite directions, each erring toward sending nothing:
|
|
8
|
-
* - `ALIGN_TELEMETRY` (ours
|
|
8
|
+
* - `ALIGN_TELEMETRY` (ours): set and not recognisably ON means OFF. Enumerating the
|
|
9
9
|
* falsy words instead guesses at what a user will type, and every miss is a live send by
|
|
10
10
|
* someone who believes they opted out.
|
|
11
11
|
* - `DO_NOT_TRACK` (consoledonottrack.com, the cross-tool convention): set and not
|
|
@@ -17,7 +17,7 @@ export type TelemetryEnvSwitch = 'DO_NOT_TRACK' | 'ALIGN_TELEMETRY';
|
|
|
17
17
|
/** The variable that disables telemetry, or undefined when neither does. */
|
|
18
18
|
export declare function telemetryDisabledByEnv(): TelemetryEnvSwitch | undefined;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* Set (to '1') in `align doctor` and in the `align mcp` it starts. A marked process sends
|
|
21
21
|
* nothing, and writes nothing about telemetry to the user's config: no opt-out stored, no notice
|
|
22
22
|
* marked, no install beacon consumed. It is not DO_NOT_TRACK on purpose, because an env opt-out is
|
|
23
23
|
* stored as a permanent opt-out.
|
|
@@ -11,7 +11,7 @@ export function telemetryDisabledByEnv() {
|
|
|
11
11
|
return undefined;
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
14
|
+
* Set (to '1') in `align doctor` and in the `align mcp` it starts. A marked process sends
|
|
15
15
|
* nothing, and writes nothing about telemetry to the user's config: no opt-out stored, no notice
|
|
16
16
|
* marked, no install beacon consumed. It is not DO_NOT_TRACK on purpose, because an env opt-out is
|
|
17
17
|
* stored as a permanent opt-out.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* rendered decision corpus: 2.56 on 4.7+ models, 3.43 on older ones. The SMALLER ratio is the
|
|
4
4
|
* conservative one - it estimates MORE tokens per char - so Phase 0 uses it for every family.
|
|
5
5
|
* Never chars/4: that under-counts our corpus by ~36% and the under-count is silent.
|
|
6
|
-
*
|
|
6
|
+
* A per-family table is still to come.
|
|
7
7
|
*/
|
|
8
8
|
export declare const CHARS_PER_TOKEN = 2.56;
|
|
9
9
|
export declare const ESTIMATE_MARGIN = 1.1;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
//
|
|
1
|
+
// Phase 0: no token-estimation helper existed anywhere in the CLI, so every
|
|
2
2
|
// prompt was assembled by concatenating decision text with no cap. This is the
|
|
3
|
-
// conservative estimator for that phase - a real per-family table is
|
|
3
|
+
// conservative estimator for that phase - a real per-family table is still to come.
|
|
4
4
|
/**
|
|
5
5
|
* Chars per token, measured (2026-09-03 research doc) with Anthropic's count_tokens against a
|
|
6
6
|
* rendered decision corpus: 2.56 on 4.7+ models, 3.43 on older ones. The SMALLER ratio is the
|
|
7
7
|
* conservative one - it estimates MORE tokens per char - so Phase 0 uses it for every family.
|
|
8
8
|
* Never chars/4: that under-counts our corpus by ~36% and the under-count is silent.
|
|
9
|
-
*
|
|
9
|
+
* A per-family table is still to come.
|
|
10
10
|
*/
|
|
11
11
|
export const CHARS_PER_TOKEN = 2.56;
|
|
12
12
|
export const ESTIMATE_MARGIN = 1.1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-estimate.js","sourceRoot":"","sources":["../../src/lib/token-estimate.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"token-estimate.js","sourceRoot":"","sources":["../../src/lib/token-estimate.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,+EAA+E;AAC/E,oFAAoF;AAEpF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AACpC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AAEnC,yFAAyF;AACzF,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,GAAG,eAAe,CAAC,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,eAAe,CAAC,GAAG,eAAe,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* taken only on positive confirmation that it cannot write. `gh auth login` issues
|
|
7
7
|
* classic tokens carrying `repo` - read AND write, with no read-only-private
|
|
8
8
|
* equivalent - so the ungated reuse shipped in #183 was quietly holding write
|
|
9
|
-
* capability in the free tier, against
|
|
9
|
+
* capability in the free tier, against the read-only-token rule.
|
|
10
10
|
*
|
|
11
11
|
* Every refusal falls through to the paste prompt, so the user is never blocked; the
|
|
12
12
|
* gate only decides whether a credential is taken WITHOUT them minting one.
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* taken only on positive confirmation that it cannot write. `gh auth login` issues
|
|
7
7
|
* classic tokens carrying `repo` - read AND write, with no read-only-private
|
|
8
8
|
* equivalent - so the ungated reuse shipped in #183 was quietly holding write
|
|
9
|
-
* capability in the free tier, against
|
|
9
|
+
* capability in the free tier, against the read-only-token rule.
|
|
10
10
|
*
|
|
11
11
|
* Every refusal falls through to the paste prompt, so the user is never blocked; the
|
|
12
12
|
* gate only decides whether a credential is taken WITHOUT them minting one.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type McpFormat } from './mcp-setup.js';
|
|
2
2
|
/**
|
|
3
|
-
* The absolute path of the `align` executable, resolved by align itself
|
|
3
|
+
* The absolute path of the `align` executable, resolved by align itself.
|
|
4
4
|
*
|
|
5
5
|
* The MCP command handed to an agent used to be a bare `align`, which the AGENT then finds through its own PATH. A
|
|
6
6
|
* PATH can carry relative or empty entries (`.`, `node_modules/.bin`), so a repo could plant an `align` and have the
|
|
@@ -20,6 +20,6 @@ export declare function resolveTrustedAlignBin(opts?: {
|
|
|
20
20
|
home?: string;
|
|
21
21
|
platform?: typeof process.platform;
|
|
22
22
|
}): string | null;
|
|
23
|
-
/** Entry for the `align` server handed to an agent per session
|
|
23
|
+
/** Entry for the `align` server handed to an agent per session: absolute trusted path when one resolves, bare `align` otherwise. */
|
|
24
24
|
export declare function launchAlignEntry(format: McpFormat): Record<string, unknown>;
|
|
25
25
|
//# sourceMappingURL=trusted-align-bin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trusted-align-bin.d.ts","sourceRoot":"","sources":["../../src/lib/trusted-align-bin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAElE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAA;CAAO,GAC/F,MAAM,GAAG,IAAI,CAsBf;AAED
|
|
1
|
+
{"version":3,"file":"trusted-align-bin.d.ts","sourceRoot":"","sources":["../../src/lib/trusted-align-bin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAElE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAA;CAAO,GAC/F,MAAM,GAAG,IAAI,CAsBf;AAED,oIAAoI;AACpI,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAI3E"}
|
|
@@ -3,7 +3,7 @@ import os from 'node:os';
|
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { alignServerEntry } from './mcp-setup.js';
|
|
5
5
|
/**
|
|
6
|
-
* The absolute path of the `align` executable, resolved by align itself
|
|
6
|
+
* The absolute path of the `align` executable, resolved by align itself.
|
|
7
7
|
*
|
|
8
8
|
* The MCP command handed to an agent used to be a bare `align`, which the AGENT then finds through its own PATH. A
|
|
9
9
|
* PATH can carry relative or empty entries (`.`, `node_modules/.bin`), so a repo could plant an `align` and have the
|
|
@@ -49,7 +49,7 @@ export function resolveTrustedAlignBin(opts = {}) {
|
|
|
49
49
|
}
|
|
50
50
|
return null;
|
|
51
51
|
}
|
|
52
|
-
/** Entry for the `align` server handed to an agent per session
|
|
52
|
+
/** Entry for the `align` server handed to an agent per session: absolute trusted path when one resolves, bare `align` otherwise. */
|
|
53
53
|
export function launchAlignEntry(format) {
|
|
54
54
|
// ALIGN_NO_TRUSTED_BIN=1 keeps the bare name (an escape hatch, and how the suite stays machine-independent).
|
|
55
55
|
const trustedBin = process.env['ALIGN_NO_TRUSTED_BIN'] === '1' ? null : resolveTrustedAlignBin();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trusted-align-bin.js","sourceRoot":"","sources":["../../src/lib/trusted-align-bin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAkB,MAAM,gBAAgB,CAAC;AAElE;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAA8F,EAAE;IAEhG,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC1D,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC,CAAC,CAAC,CAAC;IAC7G,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,MAAc,EAAW,EAAE;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACzC,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5E,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,SAAS;QACtC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,SAAS;QAC7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;oBAAE,OAAO,SAAS,CAAC;YACxD,CAAC;YAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"trusted-align-bin.js","sourceRoot":"","sources":["../../src/lib/trusted-align-bin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAkB,MAAM,gBAAgB,CAAC;AAElE;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAA8F,EAAE;IAEhG,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC1D,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC,CAAC,CAAC,CAAC;IAC7G,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,MAAc,EAAW,EAAE;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACzC,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5E,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,SAAS;QACtC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,SAAS;QAC7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;oBAAE,OAAO,SAAS,CAAC;YACxD,CAAC;YAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oIAAoI;AACpI,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,6GAA6G;IAC7G,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC;IACjG,OAAO,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type EnvironmentConfig, type TelemetryConsent } from './config.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Emit one `cli.command` event per invocation so cloud CLI activation and weekly
|
|
4
4
|
* retention are countable.
|
|
5
5
|
*
|
|
6
6
|
* Cloud mode is opt-out: a cloud user is already on an authenticated connection to our
|
|
@@ -8,7 +8,7 @@ import { type EnvironmentConfig, type TelemetryConsent } from './config.js';
|
|
|
8
8
|
* mode is opt-out too since C6, disclosed by a one-time notice (telemetry-consent.ts) that cli.ts
|
|
9
9
|
* prints to stderr before the first send - nothing local sends until it has printed
|
|
10
10
|
* (localTierAllows). An install that answered No to the pre-C6 setup question ('declined')
|
|
11
|
-
* keeps that answer for usage; the two
|
|
11
|
+
* keeps that answer for usage; the two beacons (install, setup_completed) still send
|
|
12
12
|
* for it, as they did. `--local` users have no account and no tenant, so there is nothing to
|
|
13
13
|
* authenticate an event against - the notice, and the stored decision, are the gate.
|
|
14
14
|
* Both modes send only a command name, never arguments or content. docs/telemetry.md lists
|
|
@@ -16,7 +16,7 @@ import { type EnvironmentConfig, type TelemetryConsent } from './config.js';
|
|
|
16
16
|
*
|
|
17
17
|
* `ALIGN_TELEMETRY=0` and `DO_NOT_TRACK=1` (telemetry-env.ts), and running in CI
|
|
18
18
|
* (telemetry-ci.ts, C6), turn everything off, both tiers, in both modes, over a granted local
|
|
19
|
-
* consent included
|
|
19
|
+
* consent included. `align telemetry off` stores 'off', which does the same thing without an env var.
|
|
20
20
|
*/
|
|
21
21
|
export declare const TELEMETRY_TIMEOUT_MS = 2000;
|
|
22
22
|
/**
|
|
@@ -39,10 +39,10 @@ export interface TelemetryStatus {
|
|
|
39
39
|
reason: string;
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
42
|
+
* What `align telemetry status` prints. Takes the consent decision and whether the
|
|
43
43
|
* C6 notice has printed as plain arguments rather than reading `config.ts` itself, so the
|
|
44
44
|
* model stays visible in one function a reader can hold in their head - cloud's opt-out
|
|
45
|
-
* default, and local's stored decision or the notice (
|
|
45
|
+
* default, and local's stored decision or the notice (the two default-on beacons named
|
|
46
46
|
* where usage is off but they are not) - with the env switches and CI overriding both, checked
|
|
47
47
|
* first.
|
|
48
48
|
*/
|
|
@@ -54,31 +54,31 @@ export declare function recordCommandUsage(env: EnvironmentConfig, command: stri
|
|
|
54
54
|
capMs?: number;
|
|
55
55
|
}): Promise<void>;
|
|
56
56
|
/**
|
|
57
|
-
*
|
|
57
|
+
* The command groups whose second word is a SUBCOMMAND, mirroring the gateway's
|
|
58
58
|
* SUBCOMMAND_PARENTS (telemetryAnonymousRoutes.ts, align-stack#1990) - the two lists must
|
|
59
59
|
* agree or pings silently 400. A query-taking command (ask, search, capture...) sends its
|
|
60
60
|
* top-level word only, so a user's one-word query can never ride the command field.
|
|
61
61
|
*/
|
|
62
62
|
export declare const SUBCOMMAND_PARENTS: ReadonlySet<string>;
|
|
63
63
|
/**
|
|
64
|
-
*
|
|
64
|
+
* The activation-funnel stages, matching the gateway's closed enum
|
|
65
65
|
* (telemetryAnonymousRoutes.ts). Repeat-use and D7 are deliberately absent - both derive
|
|
66
66
|
* server-side from install_id timestamps, so a client event would be a second writer.
|
|
67
67
|
*
|
|
68
|
-
*
|
|
68
|
+
* `teammate_requested` is the bottom-up-thesis signal - fired by `align invite`
|
|
69
69
|
* for every genuine attempt to bring a teammate in. The command only opens the web app's
|
|
70
70
|
* Team invites page now, so this counts the intent, not an invite sent. `align invite`
|
|
71
71
|
* refuses local-embedded mode outright (it needs a real cloud tenant to invite anyone
|
|
72
72
|
* into), so in practice this ALWAYS reaches recordFunnelStage with a cloud env and takes
|
|
73
73
|
* the /telemetry/ingest path, which accepts any eventName as a string. The gateway's
|
|
74
|
-
* FUNNEL_STAGES enum lists it too
|
|
74
|
+
* FUNNEL_STAGES enum lists it too, so the local path no longer 400s either.
|
|
75
75
|
*
|
|
76
|
-
*
|
|
76
|
+
* `install` is the once-per-install beacon and has its own emitter
|
|
77
77
|
* (recordInstallBeacon) - it is not offered to recordFunnelStage, whose `command` argument
|
|
78
78
|
* is a provenance the install beacon must not carry.
|
|
79
79
|
*/
|
|
80
80
|
/**
|
|
81
|
-
*
|
|
81
|
+
* The stages the gateway ACCEPTS a measurement on. Permission, not obligation - three
|
|
82
82
|
* of the four come from one `align connect sessions` run and carry a count and an agent name,
|
|
83
83
|
* while `decisions_ratified` comes from `align ratify` and deliberately carries neither, since
|
|
84
84
|
* a ratification is a person standing behind a claim rather than anything an agent counted.
|
|
@@ -130,7 +130,7 @@ export interface AgentMeasurement {
|
|
|
130
130
|
}
|
|
131
131
|
export type FunnelStage = (typeof FUNNEL_STAGES)[number];
|
|
132
132
|
/**
|
|
133
|
-
*
|
|
133
|
+
* The two stages that send BY DEFAULT in local mode, with no consent - the
|
|
134
134
|
* denominator of the funnel. `install` goes through recordInstallBeacon; `setup_completed`
|
|
135
135
|
* goes through recordFunnelStage like every other stage and is the one stage there that
|
|
136
136
|
* does not read the consent decision. Adding a stage here is a documented promise changing:
|
|
@@ -152,7 +152,7 @@ export declare const BEACON_STAGES: readonly ["install", "setup_completed"];
|
|
|
152
152
|
* Resolves `true` when a send was made (not necessarily delivered - see the once-mark
|
|
153
153
|
* reasoning above, the same trade), `false` when this call could not send: opted out, no
|
|
154
154
|
* consent, no token, the store threw, or - for first_useful_decision only, the one
|
|
155
|
-
* once-per-install stage - already recorded on this install.
|
|
155
|
+
* once-per-install stage - already recorded on this install. The setup wizard
|
|
156
156
|
* offers setup_started at several checkpoints because local-mode consent arrives
|
|
157
157
|
* mid-wizard, and this is how it knows which offer landed (lib/setup-funnel.ts).
|
|
158
158
|
*/
|
|
@@ -160,7 +160,7 @@ export declare function recordFunnelStage(env: EnvironmentConfig, stage: FunnelS
|
|
|
160
160
|
capMs?: number;
|
|
161
161
|
}): Promise<boolean>;
|
|
162
162
|
/**
|
|
163
|
-
*
|
|
163
|
+
* The install beacon - the funnel's denominator. Sent from the preAction hook in
|
|
164
164
|
* index.ts, so it goes out BEFORE any prompt on the very first run of this install id, and
|
|
165
165
|
* never again. The payload is the CLI version, the OS (`process.platform`, a closed enum the
|
|
166
166
|
* gateway also constrains), the install id, and the literal command `align` - the endpoint
|
|
@@ -186,8 +186,8 @@ export declare function recordInstallBeacon(commandPath: string): Promise<boolea
|
|
|
186
186
|
* The command path the postAction hook reports: the full path ("local ask", "import git")
|
|
187
187
|
* so recordCommandUsage can exclude the offline `local` group, and never the leaf alone.
|
|
188
188
|
*
|
|
189
|
-
*
|
|
190
|
-
*
|
|
189
|
+
* The ROOT command has no parent. Bare `align` (`program.action(runDefaultAction)`)
|
|
190
|
+
* is the primary first-run path, and walking `.parent` from the root yielded '' -
|
|
191
191
|
* so every bare invocation was reported as no command at all and the funnel's "activated"
|
|
192
192
|
* stage could not see it. The root reports under the program's own name.
|
|
193
193
|
*/
|
|
@@ -215,7 +215,7 @@ export declare function envFlagOf(cmd: {
|
|
|
215
215
|
* the one thing PR #77 said local mode does not do. Only the three-member `local` command
|
|
216
216
|
* group was excluded, and no local user types `align local ask`.
|
|
217
217
|
*
|
|
218
|
-
* `preferLocalEmbedded` IS now passed
|
|
218
|
+
* `preferLocalEmbedded` IS now passed - this paragraph used to say it was
|
|
219
219
|
* deliberately withheld, on the reasoning that the flag/ALIGN_ENV the user explicitly chose is
|
|
220
220
|
* what a CLOUD consent decision may rest on. That reasoning never covered local telemetry: the
|
|
221
221
|
* redirect only ever fires when the cloud env has no token, which is exactly the case
|
|
@@ -5,7 +5,7 @@ import { inCi } from './telemetry-ci.js';
|
|
|
5
5
|
import { maybeShowTelemetryNotice, storeEnvOptOut } from './telemetry-consent.js';
|
|
6
6
|
import pkg from '../../package.json' with { type: 'json' };
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Emit one `cli.command` event per invocation so cloud CLI activation and weekly
|
|
9
9
|
* retention are countable.
|
|
10
10
|
*
|
|
11
11
|
* Cloud mode is opt-out: a cloud user is already on an authenticated connection to our
|
|
@@ -13,7 +13,7 @@ import pkg from '../../package.json' with { type: 'json' };
|
|
|
13
13
|
* mode is opt-out too since C6, disclosed by a one-time notice (telemetry-consent.ts) that cli.ts
|
|
14
14
|
* prints to stderr before the first send - nothing local sends until it has printed
|
|
15
15
|
* (localTierAllows). An install that answered No to the pre-C6 setup question ('declined')
|
|
16
|
-
* keeps that answer for usage; the two
|
|
16
|
+
* keeps that answer for usage; the two beacons (install, setup_completed) still send
|
|
17
17
|
* for it, as they did. `--local` users have no account and no tenant, so there is nothing to
|
|
18
18
|
* authenticate an event against - the notice, and the stored decision, are the gate.
|
|
19
19
|
* Both modes send only a command name, never arguments or content. docs/telemetry.md lists
|
|
@@ -21,11 +21,11 @@ import pkg from '../../package.json' with { type: 'json' };
|
|
|
21
21
|
*
|
|
22
22
|
* `ALIGN_TELEMETRY=0` and `DO_NOT_TRACK=1` (telemetry-env.ts), and running in CI
|
|
23
23
|
* (telemetry-ci.ts, C6), turn everything off, both tiers, in both modes, over a granted local
|
|
24
|
-
* consent included
|
|
24
|
+
* consent included. `align telemetry off` stores 'off', which does the same thing without an env var.
|
|
25
25
|
*/
|
|
26
26
|
export const TELEMETRY_TIMEOUT_MS = 2_000;
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* `align doctor` sends nothing, and neither does the `align mcp` it starts. A process
|
|
29
29
|
* marked with DOCTOR_ENV (telemetry-env.ts) is opted out here, in the one gate every send path
|
|
30
30
|
* already passes through. The marker is not DO_NOT_TRACK, because an env opt-out is STORED as a
|
|
31
31
|
* permanent opt-out (telemetry-consent.ts storeEnvOptOut) and a preflight must not change a choice.
|
|
@@ -115,10 +115,10 @@ async function postDelivered(url, init, capMs) {
|
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
/**
|
|
118
|
-
*
|
|
118
|
+
* What `align telemetry status` prints. Takes the consent decision and whether the
|
|
119
119
|
* C6 notice has printed as plain arguments rather than reading `config.ts` itself, so the
|
|
120
120
|
* model stays visible in one function a reader can hold in their head - cloud's opt-out
|
|
121
|
-
* default, and local's stored decision or the notice (
|
|
121
|
+
* default, and local's stored decision or the notice (the two default-on beacons named
|
|
122
122
|
* where usage is off but they are not) - with the env switches and CI overriding both, checked
|
|
123
123
|
* first.
|
|
124
124
|
*/
|
|
@@ -171,8 +171,8 @@ export async function recordCommandUsage(env, command, opts = {}) {
|
|
|
171
171
|
// is not enough on its own.
|
|
172
172
|
if (command === 'local' || command.startsWith('local '))
|
|
173
173
|
return;
|
|
174
|
-
// The mode is the consent boundary (PR #77: cloud is opt-out;
|
|
175
|
-
// only with the stored consent decision - the
|
|
174
|
+
// The mode is the consent boundary (PR #77: cloud is opt-out; local usage sends
|
|
175
|
+
// only with the stored consent decision - the beacons are the two named exceptions,
|
|
176
176
|
// and this per-command ping is not one of them). It has to gate on its own because a token
|
|
177
177
|
// can be in scope without cloud consent: ALIGN_TOKEN exported into the shell, or a
|
|
178
178
|
// logged-in default env resolved by the caller.
|
|
@@ -200,7 +200,7 @@ export async function recordCommandUsage(env, command, opts = {}) {
|
|
|
200
200
|
}, opts.capMs);
|
|
201
201
|
}
|
|
202
202
|
/**
|
|
203
|
-
*
|
|
203
|
+
* The local-embedded sibling of the cloud send above. No Authorization, no tenant -
|
|
204
204
|
* there is neither. Gated on the C6 notice and the machine-local decision instead of a token,
|
|
205
205
|
* and the payload carries exactly three fields (install id, command name, CLI version) so there
|
|
206
206
|
* is nothing here for the gateway's strict schema to reject and nothing beyond what the notice
|
|
@@ -221,7 +221,7 @@ async function recordAnonymousCommandUsage(command, capMs) {
|
|
|
221
221
|
await postAnonymous({ installId: config.getInstallId(), command: commandPathOf(command), cliVersion: pkg.version }, capMs);
|
|
222
222
|
}
|
|
223
223
|
/**
|
|
224
|
-
*
|
|
224
|
+
* The command groups whose second word is a SUBCOMMAND, mirroring the gateway's
|
|
225
225
|
* SUBCOMMAND_PARENTS (telemetryAnonymousRoutes.ts, align-stack#1990) - the two lists must
|
|
226
226
|
* agree or pings silently 400. A query-taking command (ask, search, capture...) sends its
|
|
227
227
|
* top-level word only, so a user's one-word query can never ride the command field.
|
|
@@ -238,24 +238,24 @@ function commandPathOf(command) {
|
|
|
238
238
|
return top ?? command;
|
|
239
239
|
}
|
|
240
240
|
/**
|
|
241
|
-
*
|
|
241
|
+
* The activation-funnel stages, matching the gateway's closed enum
|
|
242
242
|
* (telemetryAnonymousRoutes.ts). Repeat-use and D7 are deliberately absent - both derive
|
|
243
243
|
* server-side from install_id timestamps, so a client event would be a second writer.
|
|
244
244
|
*
|
|
245
|
-
*
|
|
245
|
+
* `teammate_requested` is the bottom-up-thesis signal - fired by `align invite`
|
|
246
246
|
* for every genuine attempt to bring a teammate in. The command only opens the web app's
|
|
247
247
|
* Team invites page now, so this counts the intent, not an invite sent. `align invite`
|
|
248
248
|
* refuses local-embedded mode outright (it needs a real cloud tenant to invite anyone
|
|
249
249
|
* into), so in practice this ALWAYS reaches recordFunnelStage with a cloud env and takes
|
|
250
250
|
* the /telemetry/ingest path, which accepts any eventName as a string. The gateway's
|
|
251
|
-
* FUNNEL_STAGES enum lists it too
|
|
251
|
+
* FUNNEL_STAGES enum lists it too, so the local path no longer 400s either.
|
|
252
252
|
*
|
|
253
|
-
*
|
|
253
|
+
* `install` is the once-per-install beacon and has its own emitter
|
|
254
254
|
* (recordInstallBeacon) - it is not offered to recordFunnelStage, whose `command` argument
|
|
255
255
|
* is a provenance the install beacon must not carry.
|
|
256
256
|
*/
|
|
257
257
|
/**
|
|
258
|
-
*
|
|
258
|
+
* The stages the gateway ACCEPTS a measurement on. Permission, not obligation - three
|
|
259
259
|
* of the four come from one `align connect sessions` run and carry a count and an agent name,
|
|
260
260
|
* while `decisions_ratified` comes from `align ratify` and deliberately carries neither, since
|
|
261
261
|
* a ratification is a person standing behind a claim rather than anything an agent counted.
|
|
@@ -277,7 +277,7 @@ export const FUNNEL_STAGES = [
|
|
|
277
277
|
'first_useful_decision',
|
|
278
278
|
'teammate_requested',
|
|
279
279
|
// The gateway's own FUNNEL_STAGES must list these too or every ping 400s; that half
|
|
280
|
-
// shipped first, deliberately (align-stack #2237, the
|
|
280
|
+
// shipped first, deliberately (align-stack #2237, the lesson).
|
|
281
281
|
...SESSION_IMPORT_STAGES,
|
|
282
282
|
// C1: bare `align` handed the terminal to a coding agent. Carries the agent name only.
|
|
283
283
|
'agent_launched',
|
|
@@ -325,7 +325,7 @@ function syncFields(m) {
|
|
|
325
325
|
return { count: Math.min(count, MAX_FUNNEL_COUNT), source, outcome, scope, trigger };
|
|
326
326
|
}
|
|
327
327
|
/**
|
|
328
|
-
*
|
|
328
|
+
* The two stages that send BY DEFAULT in local mode, with no consent - the
|
|
329
329
|
* denominator of the funnel. `install` goes through recordInstallBeacon; `setup_completed`
|
|
330
330
|
* goes through recordFunnelStage like every other stage and is the one stage there that
|
|
331
331
|
* does not read the consent decision. Adding a stage here is a documented promise changing:
|
|
@@ -347,7 +347,7 @@ export const BEACON_STAGES = ['install', 'setup_completed'];
|
|
|
347
347
|
* Resolves `true` when a send was made (not necessarily delivered - see the once-mark
|
|
348
348
|
* reasoning above, the same trade), `false` when this call could not send: opted out, no
|
|
349
349
|
* consent, no token, the store threw, or - for first_useful_decision only, the one
|
|
350
|
-
* once-per-install stage - already recorded on this install.
|
|
350
|
+
* once-per-install stage - already recorded on this install. The setup wizard
|
|
351
351
|
* offers setup_started at several checkpoints because local-mode consent arrives
|
|
352
352
|
* mid-wizard, and this is how it knows which offer landed (lib/setup-funnel.ts).
|
|
353
353
|
*/
|
|
@@ -360,7 +360,7 @@ export async function recordFunnelStage(env, stage, command, measurement, opts =
|
|
|
360
360
|
try {
|
|
361
361
|
if (telemetryOptedOut())
|
|
362
362
|
return false;
|
|
363
|
-
//
|
|
363
|
+
// Never from inside an agent hook. A hook runs on the agent's clock, many times a
|
|
364
364
|
// session, with nobody watching - so a ping from there would measure an editing loop rather
|
|
365
365
|
// than a person choosing to do something, which is what every funnel stage means. Guarded
|
|
366
366
|
// HERE for the same reason first_useful_decision's once-check is: one enforcement point
|
|
@@ -392,7 +392,7 @@ export async function recordFunnelStage(env, stage, command, measurement, opts =
|
|
|
392
392
|
if (stage === 'first_useful_decision')
|
|
393
393
|
config.markFunnelStageRecorded(stage);
|
|
394
394
|
const commandPath = commandPathOf(command);
|
|
395
|
-
//
|
|
395
|
+
// Copilot on #286: the measurement is admitted only on the stages the gateway
|
|
396
396
|
// permits it on. Gated HERE rather than at the two payload sites below, for the same
|
|
397
397
|
// reason first_useful_decision's once-check is: one enforcement point. The gateway's
|
|
398
398
|
// schema is `.strict()` with a superRefine refusing `count` and `agent` on every other
|
|
@@ -469,7 +469,7 @@ async function postAnonymous(payload, capMs) {
|
|
|
469
469
|
}, capMs);
|
|
470
470
|
}
|
|
471
471
|
/**
|
|
472
|
-
*
|
|
472
|
+
* The install beacon - the funnel's denominator. Sent from the preAction hook in
|
|
473
473
|
* index.ts, so it goes out BEFORE any prompt on the very first run of this install id, and
|
|
474
474
|
* never again. The payload is the CLI version, the OS (`process.platform`, a closed enum the
|
|
475
475
|
* gateway also constrains), the install id, and the literal command `align` - the endpoint
|
|
@@ -559,8 +559,8 @@ export async function recordInstallBeacon(commandPath) {
|
|
|
559
559
|
* The command path the postAction hook reports: the full path ("local ask", "import git")
|
|
560
560
|
* so recordCommandUsage can exclude the offline `local` group, and never the leaf alone.
|
|
561
561
|
*
|
|
562
|
-
*
|
|
563
|
-
*
|
|
562
|
+
* The ROOT command has no parent. Bare `align` (`program.action(runDefaultAction)`)
|
|
563
|
+
* is the primary first-run path, and walking `.parent` from the root yielded '' -
|
|
564
564
|
* so every bare invocation was reported as no command at all and the funnel's "activated"
|
|
565
565
|
* stage could not see it. The root reports under the program's own name.
|
|
566
566
|
*/
|
|
@@ -599,7 +599,7 @@ export function envFlagOf(cmd) {
|
|
|
599
599
|
* the one thing PR #77 said local mode does not do. Only the three-member `local` command
|
|
600
600
|
* group was excluded, and no local user types `align local ask`.
|
|
601
601
|
*
|
|
602
|
-
* `preferLocalEmbedded` IS now passed
|
|
602
|
+
* `preferLocalEmbedded` IS now passed - this paragraph used to say it was
|
|
603
603
|
* deliberately withheld, on the reasoning that the flag/ALIGN_ENV the user explicitly chose is
|
|
604
604
|
* what a CLOUD consent decision may rest on. That reasoning never covered local telemetry: the
|
|
605
605
|
* redirect only ever fires when the cloud env has no token, which is exactly the case
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage-telemetry.js","sourceRoot":"","sources":["../../src/lib/usage-telemetry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"usage-telemetry.js","sourceRoot":"","sources":["../../src/lib/usage-telemetry.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/user-hooks.d.ts
CHANGED
|
@@ -15,6 +15,6 @@ onEdited?: (file: string) => void): boolean;
|
|
|
15
15
|
* so a file the user pre-populated survives with their hooks in it.
|
|
16
16
|
*/
|
|
17
17
|
export declare function removeUserHooks(target: UserHookTarget): boolean;
|
|
18
|
-
/** The line shown when a user-edited align hook element was kept
|
|
18
|
+
/** The line shown when a user-edited align hook element was kept. */
|
|
19
19
|
export declare function editedHookNotice(file: string): string;
|
|
20
20
|
//# sourceMappingURL=user-hooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-hooks.d.ts","sourceRoot":"","sources":["../../src/lib/user-hooks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAiBnE,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;CACd;AAOD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAUxE;AAkHD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,EACtB,GAAG,CAAC,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,SAAS;AACrB,4FAA4F;AAC5F,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAqDT;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAwB/D;AAED,
|
|
1
|
+
{"version":3,"file":"user-hooks.d.ts","sourceRoot":"","sources":["../../src/lib/user-hooks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAiBnE,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;CACd;AAOD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAUxE;AAkHD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,EACtB,GAAG,CAAC,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,SAAS;AACrB,4FAA4F;AAC5F,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAqDT;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAwB/D;AAED,qEAAqE;AACrE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD"}
|
package/dist/lib/user-hooks.js
CHANGED
|
@@ -64,13 +64,13 @@ const HOSTS = {
|
|
|
64
64
|
function isOurs(spec, entry) {
|
|
65
65
|
return spec.commandsOf(entry).some((c) => c.includes(OURS));
|
|
66
66
|
}
|
|
67
|
-
//
|
|
67
|
+
// An element of ours is ours to refresh only while it is exactly what align writes
|
|
68
68
|
// for the command it carries. Anything else (a nested command added, a timeout changed) is the
|
|
69
69
|
// user's edit, and replacing it would discard that edit without a word.
|
|
70
70
|
function isPristine(host, spec, entry) {
|
|
71
71
|
const command = spec.commandsOf(entry).find((c) => c.includes(OURS));
|
|
72
72
|
// The command itself must be one align writes: an appended flag or a wrapper is an edit too.
|
|
73
|
-
// Copilot's command carries the absent-align guard
|
|
73
|
+
// Copilot's command carries the absent-align guard; the bare form older versions
|
|
74
74
|
// wrote is pristine too, which is what lets a re-run migrate it.
|
|
75
75
|
const bare = host === 'copilot' && command?.startsWith(COPILOT_ABSENT_GUARD) ? command.slice(COPILOT_ABSENT_GUARD.length) : command;
|
|
76
76
|
return command !== undefined && bare !== undefined
|
|
@@ -207,7 +207,7 @@ export function removeUserHooks(target) {
|
|
|
207
207
|
writeFileSync(target.path, `${JSON.stringify(config, null, 2)}\n`, 'utf8');
|
|
208
208
|
return true;
|
|
209
209
|
}
|
|
210
|
-
/** The line shown when a user-edited align hook element was kept
|
|
210
|
+
/** The line shown when a user-edited align hook element was kept. */
|
|
211
211
|
export function editedHookNotice(file) {
|
|
212
212
|
return `Kept your edits to the align hook in ${file}, so it still runs its old command and env. To refresh it, delete that hook entry and run align mcp --setup again.`;
|
|
213
213
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-hooks.js","sourceRoot":"","sources":["../../src/lib/user-hooks.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"user-hooks.js","sourceRoot":"","sources":["../../src/lib/user-hooks.ts"],"names":[],"mappings":"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"}
|