@fulmenhq/tsfulmen 0.2.6 → 0.2.8
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 +57 -0
- package/config/crucible-ts/agentic/roles/cicd.yaml +3 -0
- package/config/crucible-ts/agentic/roles/cxotech.yaml +152 -0
- package/config/crucible-ts/agentic/roles/dataeng.yaml +3 -0
- package/config/crucible-ts/agentic/roles/deliverylead.yaml +159 -0
- package/config/crucible-ts/agentic/roles/devlead.yaml +3 -0
- package/config/crucible-ts/agentic/roles/devrev.yaml +3 -0
- package/config/crucible-ts/agentic/roles/entarch.yaml +4 -0
- package/config/crucible-ts/agentic/roles/infoarch.yaml +3 -0
- package/config/crucible-ts/agentic/roles/infraeng.yaml +193 -0
- package/config/crucible-ts/agentic/roles/prodmktg.yaml +3 -0
- package/config/crucible-ts/agentic/roles/qa.yaml +3 -0
- package/config/crucible-ts/agentic/roles/releng.yaml +129 -0
- package/config/crucible-ts/agentic/roles/secrev.yaml +3 -0
- package/config/crucible-ts/agentic/roles/uxdev.yaml +3 -0
- package/config/crucible-ts/taxonomy/metrics.yaml +1 -1
- package/dist/appidentity/index.js.map +1 -1
- package/dist/config/index.js.map +1 -1
- package/dist/crucible/index.d.ts +61 -1
- package/dist/crucible/index.js +47 -1
- package/dist/crucible/index.js.map +1 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/foundry/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/pathfinder/index.js.map +1 -1
- package/dist/reports/license-inventory.csv +19 -27
- package/dist/schema/index.js.map +1 -1
- package/dist/signals/index.js.map +1 -1
- package/dist/telemetry/http/index.js.map +1 -1
- package/dist/telemetry/index.js.map +1 -1
- package/dist/telemetry/prometheus/index.js +2 -2
- package/dist/telemetry/prometheus/index.js.map +1 -1
- package/package.json +14 -14
- package/schemas/crucible-ts/upstream/3leaps/crucible/PROVENANCE.md +21 -20
- package/schemas/crucible-ts/upstream/3leaps/crucible/config/classifiers/dimensions/access-tier.dimension.json +24 -6
- package/schemas/crucible-ts/upstream/3leaps/crucible/config/classifiers/dimensions/retention-lifecycle.dimension.json +24 -6
- package/schemas/crucible-ts/upstream/3leaps/crucible/config/classifiers/dimensions/schema-stability.dimension.json +20 -5
- package/schemas/crucible-ts/upstream/3leaps/crucible/config/classifiers/dimensions/sensitivity.dimension.json +20 -5
- package/schemas/crucible-ts/upstream/3leaps/crucible/config/classifiers/dimensions/velocity-mode.dimension.json +20 -5
- package/schemas/crucible-ts/upstream/3leaps/crucible/config/classifiers/dimensions/volatility.dimension.json +24 -6
- package/schemas/crucible-ts/upstream/3leaps/crucible/config/classifiers/dimensions/volume-tier.dimension.json +24 -6
- package/schemas/crucible-ts/upstream/3leaps/crucible/schemas/agentic/v0/README.md +87 -0
- package/schemas/crucible-ts/upstream/3leaps/crucible/schemas/agentic/v0/role-prompt.schema.json +60 -1
- package/schemas/crucible-ts/upstream/3leaps/crucible/schemas/classifiers/v0/dimension-definition.schema.json +18 -6
- package/schemas/crucible-ts/upstream/3leaps/crucible/schemas/classifiers/v0/sensitivity-level.schema.json +64 -21
- package/schemas/crucible-ts/upstream/3leaps/crucible/schemas/foundation/v0/types.schema.json +15 -5
package/dist/crucible/index.d.ts
CHANGED
|
@@ -70,9 +70,69 @@ declare class InvalidAssetIdError extends Error {
|
|
|
70
70
|
constructor(id: string, category: AssetCategory, reason: string);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
+
interface RolePrompt {
|
|
74
|
+
readonly slug: string;
|
|
75
|
+
readonly name: string;
|
|
76
|
+
readonly description: string;
|
|
77
|
+
readonly version: string;
|
|
78
|
+
readonly status: string;
|
|
79
|
+
readonly author?: string;
|
|
80
|
+
readonly category?: string;
|
|
81
|
+
readonly extends?: string;
|
|
82
|
+
readonly domains?: readonly string[];
|
|
83
|
+
readonly tags?: readonly string[];
|
|
84
|
+
readonly context?: string;
|
|
85
|
+
readonly scope: readonly string[];
|
|
86
|
+
readonly mindset?: RoleMindset;
|
|
87
|
+
readonly responsibilities: readonly string[];
|
|
88
|
+
readonly escalates_to: readonly RoleEscalation[];
|
|
89
|
+
readonly does_not: readonly string[];
|
|
90
|
+
readonly examples?: readonly RoleExample[];
|
|
91
|
+
readonly checklists?: Readonly<Record<string, readonly string[]>>;
|
|
92
|
+
readonly pre_push_checklist?: readonly string[];
|
|
93
|
+
readonly required_reading?: RoleRequiredReading;
|
|
94
|
+
readonly cross_role_note?: string;
|
|
95
|
+
}
|
|
96
|
+
interface RoleMindset {
|
|
97
|
+
readonly focus: readonly string[];
|
|
98
|
+
readonly principles: readonly string[];
|
|
99
|
+
}
|
|
100
|
+
interface RoleEscalation {
|
|
101
|
+
readonly target: string;
|
|
102
|
+
readonly when: string;
|
|
103
|
+
}
|
|
104
|
+
interface RoleExample {
|
|
105
|
+
readonly type: string;
|
|
106
|
+
readonly title?: string;
|
|
107
|
+
readonly content: string;
|
|
108
|
+
}
|
|
109
|
+
interface RoleRequiredReading {
|
|
110
|
+
readonly description?: string;
|
|
111
|
+
readonly pattern?: string;
|
|
112
|
+
readonly files?: readonly RoleRequiredReadingFile[];
|
|
113
|
+
}
|
|
114
|
+
interface RoleRequiredReadingFile {
|
|
115
|
+
readonly path?: string;
|
|
116
|
+
readonly reason?: string;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* List available role slugs, sorted alphabetically.
|
|
120
|
+
* README and non-YAML assets are excluded.
|
|
121
|
+
*/
|
|
122
|
+
declare function listRoleSlugs(): Promise<readonly string[]>;
|
|
123
|
+
/**
|
|
124
|
+
* Load a single role by slug.
|
|
125
|
+
* @throws {AssetNotFoundError} if the slug does not match a role YAML
|
|
126
|
+
*/
|
|
127
|
+
declare function loadRole(slug: string): Promise<RolePrompt>;
|
|
128
|
+
/**
|
|
129
|
+
* Load all roles keyed by slug.
|
|
130
|
+
*/
|
|
131
|
+
declare function loadRoleCatalog(): Promise<ReadonlyMap<string, RolePrompt>>;
|
|
132
|
+
|
|
73
133
|
declare function listSchemas(kind?: SchemaKind): Promise<readonly SchemaSummary[]>;
|
|
74
134
|
declare function loadSchemaById(id: string): Promise<unknown>;
|
|
75
135
|
|
|
76
136
|
declare function getCrucibleVersion(): CrucibleVersion;
|
|
77
137
|
|
|
78
|
-
export { type AssetCategory, type AssetListOptions, AssetNotFoundError, type AssetSummary, type ConfigSummary, type CrucibleVersion, type DocumentationFilter, type DocumentationMetadata, type DocumentationSummary, InvalidAssetIdError, type SchemaKind, type SchemaSummary, getConfigDefaults, getCrucibleVersion, getDocumentation, getDocumentationMetadata, getDocumentationWithMetadata, listAssets, listCategories, listConfigDefaults, listDocumentation, listSchemas, loadSchemaById };
|
|
138
|
+
export { type AssetCategory, type AssetListOptions, AssetNotFoundError, type AssetSummary, type ConfigSummary, type CrucibleVersion, type DocumentationFilter, type DocumentationMetadata, type DocumentationSummary, InvalidAssetIdError, type RoleEscalation, type RoleExample, type RoleMindset, type RolePrompt, type RoleRequiredReading, type RoleRequiredReadingFile, type SchemaKind, type SchemaSummary, getConfigDefaults, getCrucibleVersion, getDocumentation, getDocumentationMetadata, getDocumentationWithMetadata, listAssets, listCategories, listConfigDefaults, listDocumentation, listRoleSlugs, listSchemas, loadRole, loadRoleCatalog, loadSchemaById };
|
package/dist/crucible/index.js
CHANGED
|
@@ -6607,6 +6607,52 @@ async function getDocumentationMetadata(id) {
|
|
|
6607
6607
|
}
|
|
6608
6608
|
}
|
|
6609
6609
|
|
|
6610
|
+
// src/crucible/roles.ts
|
|
6611
|
+
init_telemetry();
|
|
6612
|
+
var ROLE_PREFIX = "agentic/roles";
|
|
6613
|
+
var SLUG_PATTERN = /^[a-z][a-z0-9]*$/;
|
|
6614
|
+
async function listRoleSlugs() {
|
|
6615
|
+
const assets = await listAssets("config", { prefix: ROLE_PREFIX });
|
|
6616
|
+
const slugs = [];
|
|
6617
|
+
for (const asset of assets) {
|
|
6618
|
+
const filename = asset.id.slice(ROLE_PREFIX.length + 1);
|
|
6619
|
+
if (filename === "README" || filename.includes("/")) {
|
|
6620
|
+
continue;
|
|
6621
|
+
}
|
|
6622
|
+
if (SLUG_PATTERN.test(filename)) {
|
|
6623
|
+
slugs.push(filename);
|
|
6624
|
+
}
|
|
6625
|
+
}
|
|
6626
|
+
slugs.sort((a, b) => a.localeCompare(b));
|
|
6627
|
+
return slugs;
|
|
6628
|
+
}
|
|
6629
|
+
async function loadRole(slug) {
|
|
6630
|
+
if (!SLUG_PATTERN.test(slug)) {
|
|
6631
|
+
const available = await listRoleSlugs();
|
|
6632
|
+
throw new AssetNotFoundError(slug, "config", [...available]);
|
|
6633
|
+
}
|
|
6634
|
+
const assetId = `${ROLE_PREFIX}/${slug}`;
|
|
6635
|
+
const path = assetIdToPath(assetId, "config");
|
|
6636
|
+
const fullPath = join(process.cwd(), path);
|
|
6637
|
+
try {
|
|
6638
|
+
const content = await readFile(fullPath, "utf-8");
|
|
6639
|
+
metrics.counter("foundry_lookup_count").inc();
|
|
6640
|
+
return parse(content);
|
|
6641
|
+
} catch (_error) {
|
|
6642
|
+
const available = await listRoleSlugs();
|
|
6643
|
+
throw new AssetNotFoundError(slug, "config", [...available]);
|
|
6644
|
+
}
|
|
6645
|
+
}
|
|
6646
|
+
async function loadRoleCatalog() {
|
|
6647
|
+
const slugs = await listRoleSlugs();
|
|
6648
|
+
const catalog = /* @__PURE__ */ new Map();
|
|
6649
|
+
for (const slug of slugs) {
|
|
6650
|
+
const role = await loadRole(slug);
|
|
6651
|
+
catalog.set(role.slug, role);
|
|
6652
|
+
}
|
|
6653
|
+
return catalog;
|
|
6654
|
+
}
|
|
6655
|
+
|
|
6610
6656
|
// src/crucible/schemas.ts
|
|
6611
6657
|
init_telemetry();
|
|
6612
6658
|
async function listSchemas2(kind) {
|
|
@@ -6665,6 +6711,6 @@ function getCrucibleVersion() {
|
|
|
6665
6711
|
}
|
|
6666
6712
|
}
|
|
6667
6713
|
|
|
6668
|
-
export { AssetNotFoundError, InvalidAssetIdError, getConfigDefaults, getCrucibleVersion, getDocumentation, getDocumentationMetadata, getDocumentationWithMetadata, listAssets, listCategories, listConfigDefaults, listDocumentation, listSchemas2 as listSchemas, loadSchemaById };
|
|
6714
|
+
export { AssetNotFoundError, InvalidAssetIdError, getConfigDefaults, getCrucibleVersion, getDocumentation, getDocumentationMetadata, getDocumentationWithMetadata, listAssets, listCategories, listConfigDefaults, listDocumentation, listRoleSlugs, listSchemas2 as listSchemas, loadRole, loadRoleCatalog, loadSchemaById };
|
|
6669
6715
|
//# sourceMappingURL=index.js.map
|
|
6670
6716
|
//# sourceMappingURL=index.js.map
|