@girardmedia/bootspring 2.0.21 → 2.0.23
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/bin/bootspring.js +5 -0
- package/cli/org.js +474 -0
- package/cli/preseed/index.js +16 -0
- package/cli/preseed/interactive.js +143 -0
- package/cli/preseed/templates.js +227 -0
- package/cli/preseed.js +9 -301
- package/cli/seed/builders/ai-context-builder.js +85 -0
- package/cli/seed/builders/index.js +13 -0
- package/cli/seed/builders/seed-builder.js +272 -0
- package/cli/seed/extractors/content-extractors.js +383 -0
- package/cli/seed/extractors/index.js +47 -0
- package/cli/seed/extractors/metadata-extractors.js +167 -0
- package/cli/seed/extractors/section-extractor.js +54 -0
- package/cli/seed/extractors/stack-extractors.js +228 -0
- package/cli/seed/index.js +18 -0
- package/cli/seed/utils/folder-structure.js +84 -0
- package/cli/seed/utils/index.js +11 -0
- package/cli/seed.js +23 -1074
- package/core/api-client.js +77 -0
- package/core/entitlements.js +36 -0
- package/core/organizations.js +223 -0
- package/core/policies.js +51 -6
- package/core/policy-matrix.js +303 -0
- package/core/project-context.js +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.js +3220 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/context-McpJQa_2.d.ts +5710 -0
- package/dist/core/index.d.ts +635 -0
- package/dist/core/index.js +2593 -0
- package/dist/core/index.js.map +1 -0
- package/dist/index-QqbeEiDm.d.ts +857 -0
- package/dist/index-UiYCgwiH.d.ts +174 -0
- package/dist/index.d.ts +453 -0
- package/dist/index.js +44228 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/index.d.ts +1 -0
- package/dist/mcp/index.js +41173 -0
- package/dist/mcp/index.js.map +1 -0
- package/generators/index.ts +82 -0
- package/intelligence/orchestrator/config/failure-signatures.js +48 -0
- package/intelligence/orchestrator/config/index.js +23 -0
- package/intelligence/orchestrator/config/pack-lifecycle.js +262 -0
- package/intelligence/orchestrator/config/phases.js +111 -0
- package/intelligence/orchestrator/config/remediation.js +150 -0
- package/intelligence/orchestrator/config/workflows.js +168 -0
- package/intelligence/orchestrator/core/index.js +16 -0
- package/intelligence/orchestrator/core/state-manager.js +88 -0
- package/intelligence/orchestrator/core/telemetry.js +24 -0
- package/intelligence/orchestrator/index.js +17 -0
- package/intelligence/orchestrator.js +17 -512
- package/mcp/contracts/mcp-contract.v1.json +1 -1
- package/package.json +16 -3
- package/src/cli/agent.ts +703 -0
- package/src/cli/analyze.ts +640 -0
- package/src/cli/audit.ts +707 -0
- package/src/cli/auth.ts +930 -0
- package/src/cli/billing.ts +364 -0
- package/src/cli/build.ts +1089 -0
- package/src/cli/business.ts +508 -0
- package/src/cli/checkpoint-utils.ts +236 -0
- package/src/cli/checkpoint.ts +757 -0
- package/src/cli/cloud-sync.ts +534 -0
- package/src/cli/content.ts +273 -0
- package/src/cli/context.ts +667 -0
- package/src/cli/dashboard.ts +133 -0
- package/src/cli/deploy.ts +704 -0
- package/src/cli/doctor.ts +480 -0
- package/src/cli/fundraise.ts +494 -0
- package/src/cli/generate.ts +346 -0
- package/src/cli/github-cmd.ts +566 -0
- package/src/cli/health.ts +599 -0
- package/src/cli/index.ts +113 -0
- package/src/cli/init.ts +838 -0
- package/src/cli/legal.ts +495 -0
- package/src/cli/log.ts +316 -0
- package/src/cli/loop.ts +1660 -0
- package/src/cli/manager.ts +878 -0
- package/src/cli/mcp.ts +275 -0
- package/src/cli/memory.ts +346 -0
- package/src/cli/metrics.ts +590 -0
- package/src/cli/monitor.ts +960 -0
- package/src/cli/mvp.ts +662 -0
- package/src/cli/onboard.ts +663 -0
- package/src/cli/orchestrator.ts +622 -0
- package/src/cli/plugin.ts +483 -0
- package/src/cli/prd.ts +671 -0
- package/src/cli/preseed-start.ts +1633 -0
- package/src/cli/preseed.ts +2434 -0
- package/src/cli/project.ts +526 -0
- package/src/cli/quality.ts +885 -0
- package/src/cli/security.ts +1079 -0
- package/src/cli/seed.ts +1224 -0
- package/src/cli/skill.ts +537 -0
- package/src/cli/suggest.ts +1225 -0
- package/src/cli/switch.ts +518 -0
- package/src/cli/task.ts +780 -0
- package/src/cli/telemetry.ts +172 -0
- package/src/cli/todo.ts +627 -0
- package/src/cli/types.ts +15 -0
- package/src/cli/update.ts +334 -0
- package/src/cli/visualize.ts +609 -0
- package/src/cli/watch.ts +895 -0
- package/src/cli/workspace.ts +709 -0
- package/src/core/action-recorder.ts +673 -0
- package/src/core/analyze-workflow.ts +1453 -0
- package/src/core/api-client.ts +1120 -0
- package/src/core/audit-workflow.ts +1681 -0
- package/src/core/auth.ts +471 -0
- package/src/core/build-orchestrator.ts +509 -0
- package/src/core/build-state.ts +621 -0
- package/src/core/checkpoint-engine.ts +482 -0
- package/src/core/config.ts +1285 -0
- package/src/core/context-loader.ts +694 -0
- package/src/core/context.ts +410 -0
- package/src/core/deploy-workflow.ts +1085 -0
- package/src/core/entitlements.ts +322 -0
- package/src/core/github-sync.ts +720 -0
- package/src/core/index.ts +981 -0
- package/src/core/ingest.ts +1186 -0
- package/src/core/metrics-engine.ts +886 -0
- package/src/core/mvp.ts +847 -0
- package/src/core/onboard-workflow.ts +1293 -0
- package/src/core/policies.ts +81 -0
- package/src/core/preseed-workflow.ts +1163 -0
- package/src/core/preseed.ts +1826 -0
- package/src/core/project-context.ts +380 -0
- package/src/core/project-state.ts +699 -0
- package/src/core/r2-sync.ts +691 -0
- package/src/core/scaffold.ts +1715 -0
- package/src/core/session.ts +286 -0
- package/src/core/task-extractor.ts +799 -0
- package/src/core/telemetry.ts +371 -0
- package/src/core/tier-enforcement.ts +737 -0
- package/src/core/utils.ts +437 -0
- package/src/index.ts +29 -0
- package/src/intelligence/agent-collab.ts +2376 -0
- package/src/intelligence/auto-suggest.ts +713 -0
- package/src/intelligence/content-gen.ts +1351 -0
- package/src/intelligence/cross-project.ts +1692 -0
- package/src/intelligence/git-memory.ts +529 -0
- package/src/intelligence/index.ts +318 -0
- package/src/intelligence/orchestrator.ts +534 -0
- package/src/intelligence/prd.ts +466 -0
- package/src/intelligence/recommendations.ts +982 -0
- package/src/intelligence/workflow-composer.ts +1472 -0
- package/src/mcp/capabilities.ts +233 -0
- package/src/mcp/index.ts +37 -0
- package/src/mcp/registry.ts +1268 -0
- package/src/mcp/response-formatter.ts +797 -0
- package/src/mcp/server.ts +240 -0
- package/src/types/agent.ts +69 -0
- package/src/types/config.ts +86 -0
- package/src/types/context.ts +77 -0
- package/src/types/index.ts +53 -0
- package/src/types/mcp.ts +91 -0
- package/src/types/skills.ts +47 -0
- package/src/types/workflow.ts +155 -0
- package/generators/index.js +0 -18
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bootspring Telemetry Command
|
|
3
|
+
* Inspect and upload telemetry events.
|
|
4
|
+
*
|
|
5
|
+
* @package bootspring
|
|
6
|
+
* @module cli/telemetry
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import * as utils from '../core/utils';
|
|
10
|
+
import * as telemetry from '../core/telemetry';
|
|
11
|
+
import type { ListEventsOptions, UploadOptions } from '../core/telemetry';
|
|
12
|
+
|
|
13
|
+
// =============================================================================
|
|
14
|
+
// Types
|
|
15
|
+
// =============================================================================
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* List command options
|
|
19
|
+
*/
|
|
20
|
+
interface ListOptions {
|
|
21
|
+
event?: string | undefined;
|
|
22
|
+
limit?: number | undefined;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Upload command options
|
|
27
|
+
*/
|
|
28
|
+
interface UploadCommandOptions {
|
|
29
|
+
endpoint?: string | undefined;
|
|
30
|
+
token?: string | undefined;
|
|
31
|
+
event?: string | undefined;
|
|
32
|
+
limit?: number | undefined;
|
|
33
|
+
clear?: boolean | undefined;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// =============================================================================
|
|
37
|
+
// Command Functions
|
|
38
|
+
// =============================================================================
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Show telemetry status
|
|
42
|
+
*/
|
|
43
|
+
function showStatus(): void {
|
|
44
|
+
const status = telemetry.getStatus();
|
|
45
|
+
console.log(`
|
|
46
|
+
${utils.COLORS.cyan}${utils.COLORS.bold}Telemetry Status${utils.COLORS.reset}
|
|
47
|
+
${utils.COLORS.dim}File: ${status.file}${utils.COLORS.reset}
|
|
48
|
+
${utils.COLORS.dim}Events: ${status.count}${utils.COLORS.reset}
|
|
49
|
+
${utils.COLORS.dim}Last event: ${status.lastEventAt ?? 'none'}${utils.COLORS.reset}
|
|
50
|
+
`);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* List telemetry events
|
|
55
|
+
*/
|
|
56
|
+
function listEvents(options: ListOptions = {}): void {
|
|
57
|
+
const listOptions: ListEventsOptions = {
|
|
58
|
+
event: options.event,
|
|
59
|
+
limit: options.limit
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const records = telemetry.listEvents(listOptions);
|
|
63
|
+
if (records.length === 0) {
|
|
64
|
+
utils.print.warning('No telemetry events found');
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
records.forEach(record => {
|
|
69
|
+
console.log(`${utils.COLORS.cyan}${record.timestamp}${utils.COLORS.reset} ${record.event}`);
|
|
70
|
+
});
|
|
71
|
+
console.log(`\n${utils.COLORS.dim}${records.length} event(s)${utils.COLORS.reset}`);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Upload telemetry events
|
|
76
|
+
*/
|
|
77
|
+
async function upload(options: UploadCommandOptions = {}): Promise<void> {
|
|
78
|
+
const spinner = utils.createSpinner('Uploading telemetry events').start();
|
|
79
|
+
try {
|
|
80
|
+
const uploadOptions: UploadOptions = {
|
|
81
|
+
endpoint: options.endpoint,
|
|
82
|
+
token: options.token,
|
|
83
|
+
event: options.event,
|
|
84
|
+
limit: options.limit,
|
|
85
|
+
clearOnSuccess: options.clear
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
const result = await telemetry.uploadEvents(uploadOptions);
|
|
89
|
+
spinner.succeed(`Uploaded ${result.uploaded} event(s)`);
|
|
90
|
+
utils.print.dim(`Endpoint: ${result.endpoint}`);
|
|
91
|
+
utils.print.dim(`Remaining local events: ${result.remaining}`);
|
|
92
|
+
} catch (error) {
|
|
93
|
+
spinner.fail(`Upload failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Clear telemetry events
|
|
99
|
+
*/
|
|
100
|
+
function clear(): void {
|
|
101
|
+
const result = telemetry.clearEvents();
|
|
102
|
+
utils.print.success(`Cleared ${result.cleared} event(s)`);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Show help
|
|
107
|
+
*/
|
|
108
|
+
function help(): void {
|
|
109
|
+
console.log(`
|
|
110
|
+
${utils.COLORS.cyan}${utils.COLORS.bold}Bootspring Telemetry${utils.COLORS.reset}
|
|
111
|
+
|
|
112
|
+
${utils.COLORS.cyan}Usage:${utils.COLORS.reset}
|
|
113
|
+
bootspring telemetry <command> [options]
|
|
114
|
+
|
|
115
|
+
${utils.COLORS.cyan}Commands:${utils.COLORS.reset}
|
|
116
|
+
${utils.COLORS.cyan}status${utils.COLORS.reset} Show telemetry status
|
|
117
|
+
${utils.COLORS.cyan}list${utils.COLORS.reset} List telemetry events
|
|
118
|
+
${utils.COLORS.cyan}upload${utils.COLORS.reset} Upload events to endpoint
|
|
119
|
+
${utils.COLORS.cyan}clear${utils.COLORS.reset} Clear local event log
|
|
120
|
+
|
|
121
|
+
${utils.COLORS.cyan}Options:${utils.COLORS.reset}
|
|
122
|
+
${utils.COLORS.cyan}--event <name>${utils.COLORS.reset} Filter by event name
|
|
123
|
+
${utils.COLORS.cyan}--limit <n>${utils.COLORS.reset} Limit listed/uploaded events
|
|
124
|
+
${utils.COLORS.cyan}--endpoint <url>${utils.COLORS.reset} Upload endpoint override
|
|
125
|
+
${utils.COLORS.cyan}--token <value>${utils.COLORS.reset} Upload bearer token
|
|
126
|
+
${utils.COLORS.cyan}--clear${utils.COLORS.reset} Clear local events on successful upload
|
|
127
|
+
`);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// =============================================================================
|
|
131
|
+
// Main Entry Point
|
|
132
|
+
// =============================================================================
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Run telemetry command
|
|
136
|
+
*/
|
|
137
|
+
export async function run(args: string[]): Promise<void> {
|
|
138
|
+
const parsed = utils.parseArgs(args);
|
|
139
|
+
const command = parsed._[0] ?? 'status';
|
|
140
|
+
|
|
141
|
+
switch (command) {
|
|
142
|
+
case 'status':
|
|
143
|
+
showStatus();
|
|
144
|
+
break;
|
|
145
|
+
case 'list':
|
|
146
|
+
listEvents({
|
|
147
|
+
event: parsed.event as string | undefined,
|
|
148
|
+
limit: parsed.limit ? Number(parsed.limit) : undefined
|
|
149
|
+
});
|
|
150
|
+
break;
|
|
151
|
+
case 'upload':
|
|
152
|
+
await upload({
|
|
153
|
+
endpoint: parsed.endpoint as string | undefined,
|
|
154
|
+
token: parsed.token as string | undefined,
|
|
155
|
+
event: parsed.event as string | undefined,
|
|
156
|
+
limit: parsed.limit ? Number(parsed.limit) : undefined,
|
|
157
|
+
clear: Boolean(parsed.clear)
|
|
158
|
+
});
|
|
159
|
+
break;
|
|
160
|
+
case 'clear':
|
|
161
|
+
clear();
|
|
162
|
+
break;
|
|
163
|
+
case 'help':
|
|
164
|
+
case '--help':
|
|
165
|
+
case '-h':
|
|
166
|
+
help();
|
|
167
|
+
break;
|
|
168
|
+
default:
|
|
169
|
+
utils.print.error(`Unknown telemetry command: ${command}`);
|
|
170
|
+
help();
|
|
171
|
+
}
|
|
172
|
+
}
|