@c4a/context-cli 0.7.50 → 0.7.60
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/cli.js +3358 -2136
- package/indexers/contracts/profile-contract.json +245 -245
- package/indexers/release-manifest.json +1 -1
- package/package.json +12 -12
- package/parserEntryWorker.js +73 -2
- package/plugins/VERSION +1 -1
- package/plugins/claude/.claude-plugin/plugin.json +1 -1
- package/plugins/claude/commands/context-inspect-search.md +8 -0
- package/plugins/claude/commands/context.md +335 -266
- package/plugins/claude/resources/context/imports.md +87 -0
- package/plugins/claude/resources/context/local-install.md +21 -0
- package/plugins/claude/skills/context-inspect-search/SKILL.md +8 -0
- package/plugins/claude/skills/context-repo-content/SKILL.md +2 -1
- package/plugins/codex/.codex-plugin/plugin.json +2 -2
- package/plugins/codex/skills/context/SKILL.md +335 -266
- package/plugins/codex/skills/context/references/imports.md +87 -0
- package/plugins/codex/skills/context/references/local-install.md +21 -0
- package/plugins/codex/skills/context-inspect-search/SKILL.md +8 -0
- package/plugins/codex/skills/context-repo-content/SKILL.md +2 -1
- package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
- package/plugins/cursor/commands/c4a-context-inspect-search.md +8 -0
- package/plugins/cursor/commands/c4a-context.md +335 -266
- package/plugins/cursor/resources/context/imports.md +87 -0
- package/plugins/cursor/resources/context/local-install.md +21 -0
- package/plugins/cursor/skills/context-inspect-search/SKILL.md +8 -0
- package/plugins/cursor/skills/context-repo-content/SKILL.md +2 -1
- package/plugins/skills/context/SKILL.md +335 -266
- package/plugins/skills/context/references/imports.md +87 -0
- package/plugins/skills/context/references/local-install.md +21 -0
- package/plugins/skills/context-inspect-search/SKILL.md +8 -0
- package/plugins/skills/context-repo-content/SKILL.md +2 -1
- package/providers/context/actions/repair-project-entry.yaml +1 -0
- package/providers/context/actions/translate-site-locales.yaml +5 -0
- package/providers/context/codes.yaml +1 -0
- package/providers/context/graphs/workspace.yaml +14 -1
- package/providers/context/manifest.json +44 -18
- package/providers/context/provider.yaml +1 -1
- package/providers/context/resources/manuals/guides/imports.md +90 -0
- package/providers/context/resources/manuals/guides/knowledge-updates.md +13 -0
- package/providers/context/resources/manuals/guides/package-outputs.md +42 -4
- package/providers/context/resources/manuals/guides/page-customization.md +16 -0
- package/providers/context/resources/manuals/guides/site-translation.md +78 -0
- package/providers/context/resources/manuals/reference/project-api.md +2 -1
- package/providers/context/resources/procedures/knowledge-updates.md +13 -0
- package/providers/context/skills/record-workspace-version/SKILL.md +3 -2
- package/providers/context/skills/translate-site-locales/SKILL.md +36 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@c4a/context-cli",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.60",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Local runtime and Agent integration for traceable knowledge production",
|
|
6
6
|
"license": "MIT",
|
|
@@ -24,17 +24,17 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@c4a/agent-graph": "0.3.0",
|
|
27
|
-
"@c4a/context": "0.7.
|
|
28
|
-
"@c4a/extract": "0.7.
|
|
29
|
-
"@c4a/extract-contract": "0.7.
|
|
30
|
-
"@c4a/extract-go": "0.7.
|
|
31
|
-
"@c4a/extract-mdx": "0.7.
|
|
32
|
-
"@c4a/extract-proto": "0.7.
|
|
33
|
-
"@c4a/extract-rush": "0.7.
|
|
34
|
-
"@c4a/extract-sql": "0.7.
|
|
35
|
-
"@c4a/extract-style": "0.7.
|
|
36
|
-
"@c4a/extract-thrift": "0.7.
|
|
37
|
-
"@c4a/extract-ts": "0.7.
|
|
27
|
+
"@c4a/context": "0.7.60",
|
|
28
|
+
"@c4a/extract": "0.7.60",
|
|
29
|
+
"@c4a/extract-contract": "0.7.60",
|
|
30
|
+
"@c4a/extract-go": "0.7.60",
|
|
31
|
+
"@c4a/extract-mdx": "0.7.60",
|
|
32
|
+
"@c4a/extract-proto": "0.7.60",
|
|
33
|
+
"@c4a/extract-rush": "0.7.60",
|
|
34
|
+
"@c4a/extract-sql": "0.7.60",
|
|
35
|
+
"@c4a/extract-style": "0.7.60",
|
|
36
|
+
"@c4a/extract-thrift": "0.7.60",
|
|
37
|
+
"@c4a/extract-ts": "0.7.60",
|
|
38
38
|
"@mermaid-js/layout-elk": "0.2.0",
|
|
39
39
|
"commander": "^11.0.0",
|
|
40
40
|
"fast-xml-parser": "^5.10.1",
|
package/parserEntryWorker.js
CHANGED
|
@@ -4535,7 +4535,7 @@ var init_siteTheme = __esm(() => {
|
|
|
4535
4535
|
});
|
|
4536
4536
|
|
|
4537
4537
|
// ../context/src/packageSite.ts
|
|
4538
|
-
var siteHrefSchema, packageSiteHomeActionSchema, packageSiteHomeResourceSchema, packageSiteHomeSchema, packageSiteSchema;
|
|
4538
|
+
var siteHrefSchema, packageSiteHomeActionSchema, packageSiteHomeResourceSchema, packageSiteHomeSchema, localeTagSchema, localizedTextSchema, packageSiteLocaleSchema, packageSiteNavLinkSchema, packageSiteMoreItemSchema, packageSiteSocialLinkSchema, packageSiteSchema;
|
|
4539
4539
|
var init_packageSite = __esm(() => {
|
|
4540
4540
|
init_siteTheme();
|
|
4541
4541
|
init_zod();
|
|
@@ -4562,6 +4562,32 @@ var init_packageSite = __esm(() => {
|
|
|
4562
4562
|
actions: exports_external.array(packageSiteHomeActionSchema).optional(),
|
|
4563
4563
|
resources: exports_external.array(packageSiteHomeResourceSchema).optional()
|
|
4564
4564
|
}).strict();
|
|
4565
|
+
localeTagSchema = exports_external.string().regex(/^[a-zA-Z]{2,3}(?:-[a-zA-Z0-9]{2,8})*$/u, "Use a BCP 47 language tag, such as zh-CN");
|
|
4566
|
+
localizedTextSchema = exports_external.record(localeTagSchema, exports_external.string().trim().min(1));
|
|
4567
|
+
packageSiteLocaleSchema = exports_external.object({
|
|
4568
|
+
label: exports_external.string().trim().min(1).optional(),
|
|
4569
|
+
title: exports_external.string().trim().min(1).optional(),
|
|
4570
|
+
description: exports_external.string().optional(),
|
|
4571
|
+
home: packageSiteHomeSchema.optional()
|
|
4572
|
+
}).strict();
|
|
4573
|
+
packageSiteNavLinkSchema = exports_external.object({
|
|
4574
|
+
text: exports_external.string().trim().min(1),
|
|
4575
|
+
link: siteHrefSchema,
|
|
4576
|
+
locales: localizedTextSchema.optional()
|
|
4577
|
+
}).strict();
|
|
4578
|
+
packageSiteMoreItemSchema = exports_external.object({
|
|
4579
|
+
text: exports_external.string().trim().min(1),
|
|
4580
|
+
link: siteHrefSchema.optional(),
|
|
4581
|
+
target: exports_external.object({ artifact_ref: exports_external.string().trim().min(1) }).strict().optional(),
|
|
4582
|
+
locales: localizedTextSchema.optional()
|
|
4583
|
+
}).strict().refine((value) => value.link === undefined !== (value.target === undefined), {
|
|
4584
|
+
message: "A More menu item requires exactly one of link or target"
|
|
4585
|
+
});
|
|
4586
|
+
packageSiteSocialLinkSchema = exports_external.object({
|
|
4587
|
+
icon: exports_external.enum(["github", "discord", "x", "youtube", "slack", "linkedin", "mastodon", "npm"]),
|
|
4588
|
+
link: exports_external.string().regex(/^https:\/\//u, "Use an https URL"),
|
|
4589
|
+
ariaLabel: exports_external.string().trim().min(1).optional()
|
|
4590
|
+
}).strict();
|
|
4565
4591
|
packageSiteSchema = exports_external.object({
|
|
4566
4592
|
theme: siteThemeSchema.optional(),
|
|
4567
4593
|
title: exports_external.string().trim().min(1).optional(),
|
|
@@ -4569,9 +4595,16 @@ var init_packageSite = __esm(() => {
|
|
|
4569
4595
|
lang: exports_external.string().min(1).default("en-US"),
|
|
4570
4596
|
base: exports_external.string().regex(/^\/(?:[a-zA-Z0-9_-]+\/)*$/, "Use / or a slash-delimited deployment path, such as /docs/").default("/"),
|
|
4571
4597
|
home: packageSiteHomeSchema.optional(),
|
|
4598
|
+
locales: exports_external.record(localeTagSchema, packageSiteLocaleSchema).optional(),
|
|
4599
|
+
titleLink: siteHrefSchema.optional(),
|
|
4600
|
+
nav: exports_external.array(packageSiteNavLinkSchema).optional(),
|
|
4601
|
+
more: exports_external.array(packageSiteMoreItemSchema).optional(),
|
|
4602
|
+
socialLinks: exports_external.array(packageSiteSocialLinkSchema).optional(),
|
|
4603
|
+
localePreferenceKey: exports_external.string().regex(/^[a-zA-Z0-9:._-]+$/u).optional(),
|
|
4572
4604
|
extensions: exports_external.object({
|
|
4573
4605
|
root: exports_external.string().regex(/^src\/(?:[a-zA-Z0-9_-]+\/)*[a-zA-Z0-9_-]+$/).default("src/site"),
|
|
4574
4606
|
slots: exports_external.object({
|
|
4607
|
+
brand: exports_external.string().min(1).optional(),
|
|
4575
4608
|
banner: exports_external.union([exports_external.string().min(1), exports_external.literal(false)]).optional(),
|
|
4576
4609
|
knowledge: exports_external.union([exports_external.string().min(1), exports_external.literal(false)]).optional(),
|
|
4577
4610
|
resources: exports_external.union([exports_external.string().min(1), exports_external.literal(false)]).optional(),
|
|
@@ -4580,7 +4613,13 @@ var init_packageSite = __esm(() => {
|
|
|
4580
4613
|
}).strict().optional(),
|
|
4581
4614
|
pages: exports_external.record(exports_external.string().regex(/^[a-zA-Z0-9_-]+$/), exports_external.string().min(1)).optional()
|
|
4582
4615
|
}).strict().optional()
|
|
4583
|
-
}).strict()
|
|
4616
|
+
}).strict().superRefine((value, context) => {
|
|
4617
|
+
for (const tag of Object.keys(value.locales ?? {})) {
|
|
4618
|
+
if (tag.toLowerCase() === value.lang.toLowerCase()) {
|
|
4619
|
+
context.addIssue({ code: exports_external.ZodIssueCode.custom, path: ["locales", tag], message: "An additional locale must differ from the primary site lang" });
|
|
4620
|
+
}
|
|
4621
|
+
}
|
|
4622
|
+
});
|
|
4584
4623
|
});
|
|
4585
4624
|
|
|
4586
4625
|
// ../context/src/contracts.ts
|
|
@@ -16739,6 +16778,37 @@ var init_repoContent = __esm(() => {
|
|
|
16739
16778
|
}).strict();
|
|
16740
16779
|
});
|
|
16741
16780
|
|
|
16781
|
+
// ../context/src/imports.ts
|
|
16782
|
+
var importUrlSchema, importIdSchema, importEntrySchema, importsRegistrySchema;
|
|
16783
|
+
var init_imports = __esm(() => {
|
|
16784
|
+
init_zod();
|
|
16785
|
+
init_repoContent();
|
|
16786
|
+
importUrlSchema = exports_external.string().min(1).refine((value) => {
|
|
16787
|
+
if (!/^https?:\/\/[^/?#\\]/iu.test(value) || /[\s\u0000-\u001f\u007f<>\\]/u.test(value))
|
|
16788
|
+
return false;
|
|
16789
|
+
try {
|
|
16790
|
+
const url = new URL(value);
|
|
16791
|
+
return ["https:", "http:"].includes(url.protocol) && !!url.hostname && !url.username && !url.password;
|
|
16792
|
+
} catch {
|
|
16793
|
+
return false;
|
|
16794
|
+
}
|
|
16795
|
+
}, "Use an absolute http:// or https:// entrance without credentials, whitespace or backslashes");
|
|
16796
|
+
importIdSchema = exports_external.string().regex(/^[A-Za-z0-9][A-Za-z0-9._-]*$/u);
|
|
16797
|
+
importEntrySchema = exports_external.object({
|
|
16798
|
+
url: importUrlSchema,
|
|
16799
|
+
kind: exports_external.string().min(1).optional(),
|
|
16800
|
+
format: exports_external.string().min(1).optional(),
|
|
16801
|
+
title: exports_external.string().min(1).optional(),
|
|
16802
|
+
description: exports_external.string().optional(),
|
|
16803
|
+
path: repoContentPathSchema.optional(),
|
|
16804
|
+
version: exports_external.string().min(1).optional()
|
|
16805
|
+
}).strict();
|
|
16806
|
+
importsRegistrySchema = exports_external.object({
|
|
16807
|
+
protocol: exports_external.literal("context.imports/v1"),
|
|
16808
|
+
imports: exports_external.record(importIdSchema, importEntrySchema)
|
|
16809
|
+
}).strict();
|
|
16810
|
+
});
|
|
16811
|
+
|
|
16742
16812
|
// ../context/src/indexerRequirementComparison.ts
|
|
16743
16813
|
function setRelation(oldValues, newValues) {
|
|
16744
16814
|
const oldContained = [...oldValues].every((value) => newValues.has(value));
|
|
@@ -20608,6 +20678,7 @@ var init_src = __esm(() => {
|
|
|
20608
20678
|
init_packageSite();
|
|
20609
20679
|
init_contracts();
|
|
20610
20680
|
init_contracts();
|
|
20681
|
+
init_imports();
|
|
20611
20682
|
init_repoContent();
|
|
20612
20683
|
init_indexerProvider();
|
|
20613
20684
|
init_indexerRegistry();
|
package/plugins/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.7.
|
|
1
|
+
0.7.60
|
|
@@ -59,6 +59,14 @@ access policies, not additional source-order modes or production settings.
|
|
|
59
59
|
|
|
60
60
|
## Search available material according to the configured mode
|
|
61
61
|
|
|
62
|
+
Workspace `imports.yaml` and a package's optional `wikis/imports.md` list external
|
|
63
|
+
entrances, not bundled or verified knowledge. When a relevant article links to
|
|
64
|
+
`context:import/<id>`, read that declaration (at the same workspace commit for
|
|
65
|
+
remote reads) and use its URL through available authorized tools. Do not append
|
|
66
|
+
the declared path/version to the URL or visit unrelated entries. Local tools and
|
|
67
|
+
MCP follow the same rule; neither reading nor registration authorizes installation
|
|
68
|
+
or execution of a Skill/plugin. Temporary query reads do not update declarations.
|
|
69
|
+
|
|
62
70
|
Same-repository original documents and authored Skills may be registered in
|
|
63
71
|
workspace-root `repo-content.yaml`, with a `repo-content/` symlink view. They are
|
|
64
72
|
another readable entrance, not duplicated approved knowledge. Select them when
|