@open-mercato/cli 0.6.7-develop.6870.1.b69802067a → 0.6.8-canary.319.1.5b4be4bc52
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/.turbo/turbo-build.log +74 -1
- package/build.mjs +44 -4
- package/dist/agentic/guides/backend-ui.md +4 -0
- package/dist/agentic/guides/module-facts.json +1333 -113
- package/dist/agentic/guides/modules/ai_assistant.md +2 -2
- package/dist/agentic/guides/modules/api_docs.md +2 -2
- package/dist/agentic/guides/modules/api_keys.md +2 -2
- package/dist/agentic/guides/modules/attachments.md +2 -2
- package/dist/agentic/guides/modules/audit_logs.md +2 -2
- package/dist/agentic/guides/modules/auth.md +2 -2
- package/dist/agentic/guides/modules/business_rules.md +2 -2
- package/dist/agentic/guides/modules/catalog.md +10 -3
- package/dist/agentic/guides/modules/channel_gmail.md +2 -2
- package/dist/agentic/guides/modules/channel_imap.md +2 -2
- package/dist/agentic/guides/modules/checkout.md +8 -2
- package/dist/agentic/guides/modules/communication_channels.md +2 -2
- package/dist/agentic/guides/modules/configs.md +2 -2
- package/dist/agentic/guides/modules/content.md +2 -2
- package/dist/agentic/guides/modules/currencies.md +2 -2
- package/dist/agentic/guides/modules/customer_accounts.md +2 -2
- package/dist/agentic/guides/modules/customers.md +6 -6
- package/dist/agentic/guides/modules/dashboards.md +12 -12
- package/dist/agentic/guides/modules/data_sync.md +2 -2
- package/dist/agentic/guides/modules/design_system.md +2 -2
- package/dist/agentic/guides/modules/dictionaries.md +2 -2
- package/dist/agentic/guides/modules/directory.md +2 -2
- package/dist/agentic/guides/modules/entities.md +2 -2
- package/dist/agentic/guides/modules/events.md +2 -2
- package/dist/agentic/guides/modules/feature_toggles.md +2 -2
- package/dist/agentic/guides/modules/gateway_stripe.md +2 -2
- package/dist/agentic/guides/modules/generators.md +2 -2
- package/dist/agentic/guides/modules/inbox_ops.md +2 -2
- package/dist/agentic/guides/modules/integrations.md +5 -2
- package/dist/agentic/guides/modules/messages.md +2 -2
- package/dist/agentic/guides/modules/notifications.md +2 -2
- package/dist/agentic/guides/modules/onboarding.md +2 -2
- package/dist/agentic/guides/modules/payment_gateways.md +6 -2
- package/dist/agentic/guides/modules/perspectives.md +2 -2
- package/dist/agentic/guides/modules/planner.md +2 -2
- package/dist/agentic/guides/modules/portal.md +2 -2
- package/dist/agentic/guides/modules/progress.md +2 -2
- package/dist/agentic/guides/modules/query_index.md +2 -2
- package/dist/agentic/guides/modules/record_locks.md +3 -3
- package/dist/agentic/guides/modules/resources.md +2 -2
- package/dist/agentic/guides/modules/sales.md +13 -4
- package/dist/agentic/guides/modules/scheduler.md +2 -2
- package/dist/agentic/guides/modules/search.md +2 -2
- package/dist/agentic/guides/modules/security.md +3 -3
- package/dist/agentic/guides/modules/shipping_carriers.md +2 -2
- package/dist/agentic/guides/modules/sso.md +2 -2
- package/dist/agentic/guides/modules/staff.md +7 -4
- package/dist/agentic/guides/modules/storage_s3.md +2 -2
- package/dist/agentic/guides/modules/sync_akeneo.md +2 -2
- package/dist/agentic/guides/modules/sync_excel.md +2 -2
- package/dist/agentic/guides/modules/system_status_overlays.md +2 -2
- package/dist/agentic/guides/modules/translations.md +2 -2
- package/dist/agentic/guides/modules/webhooks.md +2 -2
- package/dist/agentic/guides/modules/wms.md +31 -4
- package/dist/agentic/guides/modules/workflows.md +2 -2
- package/dist/agentic/guides/reference-module-facts.json +6370 -0
- package/dist/agentic/guides/reference-modules/example.md +451 -0
- package/dist/agentic/guides/spec-delivery.md +20 -0
- package/dist/agentic/guides/upstream/AGENTS.md +1 -0
- package/dist/agentic/guides/upstream/BACKWARD_COMPATIBILITY.md +1 -1
- package/dist/agentic/guides/upstream/manifest.json +3 -3
- package/dist/agentic/shared/AGENTS.md.template +10 -14
- package/dist/agentic/shared/ai/harness/README.md +4 -4
- package/dist/agentic/shared/ai/harness/RELEASE.md +4 -4
- package/dist/agentic/shared/ai/harness/cases.json +1584 -214
- package/dist/agentic/shared/ai/harness/cases.schema.json +61 -6
- package/dist/agentic/shared/ai/harness/fixtures/index.json +3 -1
- package/dist/agentic/shared/ai/harness/fixtures/seeds.json +4 -0
- package/dist/agentic/shared/ai/harness/knowledge-change.schema.json +228 -0
- package/dist/agentic/shared/ai/harness/release-matrix.json +9 -4
- package/dist/agentic/shared/ai/harness/result.schema.json +33 -0
- package/dist/agentic/shared/ai/harness/routing-response.schema.json +10 -0
- package/dist/agentic/shared/ai/harness/validators.json +7 -3
- package/dist/agentic/shared/ai/harness/writable-spec-oracles.mjs +412 -0
- package/dist/agentic/shared/ai/skills/om-backend-ui-design/SKILL.md +1 -0
- package/dist/agentic/shared/ai/skills/om-backend-ui-design/references/crud-surfaces.md +15 -0
- package/dist/agentic/shared/ai/skills/om-backend-ui-design/references/page-and-navigation.md +2 -0
- package/dist/agentic/shared/ai/skills/om-data-model-design/SKILL.md +1 -0
- package/dist/agentic/shared/ai/skills/om-data-model-design/references/integrity-and-concurrency.md +2 -0
- package/dist/agentic/shared/ai/skills/om-data-model-design/references/migration-workflow.md +2 -0
- package/dist/agentic/shared/ai/skills/om-data-model-design/references/schema-design.md +2 -0
- package/dist/agentic/shared/ai/skills/om-eject-and-customize/SKILL.md +1 -0
- package/dist/agentic/shared/ai/skills/om-eject-and-customize/references/decision-and-procedure.md +2 -0
- package/dist/agentic/shared/ai/skills/om-evolve-harness/SKILL.md +2 -0
- package/dist/agentic/shared/ai/skills/om-evolve-harness/references/case-template.md +2 -2
- package/dist/agentic/shared/ai/skills/om-evolve-harness/references/case-workflow.md +1 -1
- package/dist/agentic/shared/ai/skills/om-evolve-harness/references/knowledge-change.md +115 -0
- package/dist/agentic/shared/ai/skills/om-integration-builder/SKILL.md +1 -0
- package/dist/agentic/shared/ai/skills/om-integration-builder/references/provider-families.md +11 -0
- package/dist/agentic/shared/ai/skills/om-judge-agent-session/references/judge-workflow.md +1 -1
- package/dist/agentic/shared/ai/skills/om-module-scaffold/SKILL.md +2 -2
- package/dist/agentic/shared/ai/skills/om-module-scaffold/references/api-and-domain.md +13 -0
- package/dist/agentic/shared/ai/skills/om-module-scaffold/references/data-and-migrations.md +2 -0
- package/dist/agentic/shared/ai/skills/om-module-scaffold/references/module-surfaces.md +19 -0
- package/dist/agentic/shared/ai/skills/om-system-extension/SKILL.md +1 -0
- package/dist/agentic/shared/ai/skills/om-system-extension/references/extension-branches.md +24 -0
- package/dist/agentic/shared/ai/skills/om-system-extension/references/unified-overrides.md +2 -0
- package/dist/agentic/shared/ai/skills/om-troubleshooter/SKILL.md +1 -0
- package/dist/agentic/shared/ai/skills/om-troubleshooter/references/diagnosis-map.md +13 -0
- package/dist/agentic/shared/scripts/agent-harness-tool-server.mjs +39 -2
- package/dist/agentic/shared/scripts/evaluate-agent-harness.mjs +653 -26
- package/dist/agentic/shared/scripts/run-agent-harness-release.mjs +1 -1
- package/dist/agentic/shared/scripts/validate-knowledge-change.mjs +911 -0
- package/dist/lib/generators/module-extension-facts.js +44 -12
- package/dist/lib/generators/module-extension-facts.js.map +2 -2
- package/dist/lib/generators/module-facts-discovery.js +23 -0
- package/dist/lib/generators/module-facts-discovery.js.map +2 -2
- package/dist/lib/generators/module-facts.js +273 -38
- package/dist/lib/generators/module-facts.js.map +2 -2
- package/dist/lib/testing/integration.js +0 -2
- package/dist/lib/testing/integration.js.map +2 -2
- package/package.json +7 -7
- package/src/lib/generators/__tests__/module-extension-facts.test.ts +199 -0
- package/src/lib/generators/__tests__/module-facts.bc-guard.test.ts +53 -2
- package/src/lib/generators/__tests__/module-facts.computed-di-token.test.ts +88 -0
- package/src/lib/generators/__tests__/module-facts.local-reference.test.ts +391 -0
- package/src/lib/generators/__tests__/module-facts.search-entity-id.test.ts +151 -0
- package/src/lib/generators/__tests__/module-facts.source-links.test.ts +42 -1
- package/src/lib/generators/__tests__/module-override-targets.test.ts +24 -0
- package/src/lib/generators/module-extension-facts.ts +80 -12
- package/src/lib/generators/module-facts-discovery.ts +46 -0
- package/src/lib/generators/module-facts.ts +485 -41
- package/src/lib/testing/integration.ts +0 -2
package/.turbo/turbo-build.log
CHANGED
|
@@ -4,6 +4,9 @@ Copied create-app/agentic/ → dist/agentic/
|
|
|
4
4
|
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for channel_gmail
|
|
5
5
|
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for channel_imap
|
|
6
6
|
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for checkout
|
|
7
|
+
[module-facts] searchConfig entityId is not statically resolvable: /home/runner/work/open-mercato/open-mercato/packages/checkout/src/modules/checkout/search.ts:11
|
|
8
|
+
[module-facts] searchConfig entityId is not statically resolvable: /home/runner/work/open-mercato/open-mercato/packages/checkout/src/modules/checkout/search.ts:30
|
|
9
|
+
[module-facts] searchConfig entityId is not statically resolvable: /home/runner/work/open-mercato/open-mercato/packages/checkout/src/modules/checkout/search.ts:56
|
|
7
10
|
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for content
|
|
8
11
|
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for api_docs
|
|
9
12
|
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for api_keys
|
|
@@ -54,6 +57,76 @@ Copied create-app/agentic/ → dist/agentic/
|
|
|
54
57
|
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for generators
|
|
55
58
|
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for storage_s3
|
|
56
59
|
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for sync_akeneo
|
|
57
|
-
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for webhooks
|
|
58
60
|
Generated 55 module fact-sheets → dist/agentic/guides/modules/
|
|
61
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for webhooks
|
|
62
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for ai_assistant
|
|
63
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for channel_gmail
|
|
64
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for channel_imap
|
|
65
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for checkout
|
|
66
|
+
[module-facts] searchConfig entityId is not statically resolvable: /home/runner/work/open-mercato/open-mercato/packages/checkout/src/modules/checkout/search.ts:11
|
|
67
|
+
[module-facts] searchConfig entityId is not statically resolvable: /home/runner/work/open-mercato/open-mercato/packages/checkout/src/modules/checkout/search.ts:30
|
|
68
|
+
[module-facts] searchConfig entityId is not statically resolvable: /home/runner/work/open-mercato/open-mercato/packages/checkout/src/modules/checkout/search.ts:56
|
|
69
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for content
|
|
70
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for api_docs
|
|
71
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for api_keys
|
|
72
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for attachments
|
|
73
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for audit_logs
|
|
74
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for auth
|
|
75
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for business_rules
|
|
76
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for catalog
|
|
77
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for communication_channels
|
|
78
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for configs
|
|
79
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for currencies
|
|
80
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for customer_accounts
|
|
81
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for customers
|
|
82
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for dashboards
|
|
83
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for data_sync
|
|
84
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for design_system
|
|
85
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for dictionaries
|
|
86
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for directory
|
|
87
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for entities
|
|
88
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for feature_toggles
|
|
89
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for inbox_ops
|
|
90
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for integrations
|
|
91
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for messages
|
|
92
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for notifications
|
|
93
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for payment_gateways
|
|
94
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for perspectives
|
|
95
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for planner
|
|
96
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for portal
|
|
97
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for progress
|
|
98
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for query_index
|
|
99
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for resources
|
|
100
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for sales
|
|
101
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for shipping_carriers
|
|
102
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for staff
|
|
103
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for sync_excel
|
|
104
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for translations
|
|
105
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for wms
|
|
106
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for workflows
|
|
107
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for record_locks
|
|
108
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for security
|
|
109
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for sso
|
|
110
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for system_status_overlays
|
|
111
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for events
|
|
112
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for gateway_stripe
|
|
113
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for onboarding
|
|
114
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for scheduler
|
|
115
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for search
|
|
116
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for generators
|
|
117
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for storage_s3
|
|
118
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for sync_akeneo
|
|
119
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for webhooks
|
|
120
|
+
[module-facts] module registry unavailable (registryPath not provided); API route auth omitted for example
|
|
121
|
+
[module-facts] example unresolved-first-party-target: example:auto-default-priority:example.todo.creating (src/modules/example/subscribers/auto-default-priority.ts)
|
|
122
|
+
[module-facts] example unresolved-first-party-target: example:example-event:example.ping (src/modules/example/subscribers/example-event.ts)
|
|
123
|
+
[module-facts] example unresolved-first-party-target: example:prevent-uncomplete:example.todo.updating (src/modules/example/subscribers/prevent-uncomplete.ts)
|
|
124
|
+
[module-facts] example unresolved-first-party-target: example.injection.crud-validation@example:phase-c-handlers:example:phase-c-handlers (src/modules/example/widgets/injection-table.ts)
|
|
125
|
+
[module-facts] example unresolved-first-party-target: example.todo-limit:example.todo (src/modules/example/data/guards.ts)
|
|
126
|
+
[module-facts][reference] unresolved first-party target: example:example:auto-default-priority:example.todo.creating
|
|
127
|
+
[module-facts][reference] unresolved first-party target: example:example:example-event:example.ping
|
|
128
|
+
[module-facts][reference] unresolved first-party target: example:example:prevent-uncomplete:example.todo.updating
|
|
129
|
+
[module-facts][reference] unresolved first-party target: example:example.injection.crud-validation@example:phase-c-handlers:example:phase-c-handlers
|
|
130
|
+
[module-facts][reference] unresolved first-party target: example:example.todo-limit:example.todo
|
|
131
|
+
Generated 1 local reference projection(s) → dist/agentic/guides/reference-modules/
|
|
59
132
|
[build:cli] built successfully
|
package/build.mjs
CHANGED
|
@@ -57,6 +57,8 @@ await buildPackage(packageDir, {
|
|
|
57
57
|
// in an incremental `dist/` from an older build. Mirrors packages/create-app/build.mjs;
|
|
58
58
|
// conceptual guides remain while stale single-dot package guides are removed below.
|
|
59
59
|
rmSync(join(guidesDestDir, 'modules'), { recursive: true, force: true })
|
|
60
|
+
rmSync(join(guidesDestDir, 'reference-modules'), { recursive: true, force: true })
|
|
61
|
+
rmSync(join(guidesDestDir, 'reference-module-facts.json'), { force: true })
|
|
60
62
|
for (const entry of readdirSync(guidesDestDir)) {
|
|
61
63
|
if (/^core\..+\.md$/.test(entry)) {
|
|
62
64
|
rmSync(join(guidesDestDir, entry))
|
|
@@ -93,14 +95,23 @@ await buildPackage(packageDir, {
|
|
|
93
95
|
// `mercato agentic:init` bundles the same guides as a create-mercato-app scaffold
|
|
94
96
|
// (packages/create-app/build.mjs). Discovery goes through the resolver, never a
|
|
95
97
|
// hardcoded packages/* path (.ai/lessons/standalone-scaffolding-and-generators-must-not-assume.md).
|
|
96
|
-
const {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
const {
|
|
99
|
+
assertPackageModuleFactsOnly,
|
|
100
|
+
extractAllModuleFacts,
|
|
101
|
+
extractLocalReferenceModuleFacts,
|
|
102
|
+
renderModuleFactsJson,
|
|
103
|
+
renderReferenceModuleFactsJson,
|
|
104
|
+
} = await import(pathToFileURL(join(outdir, 'lib', 'generators', 'module-facts.js')).href)
|
|
105
|
+
const { discoverLocalReferenceModuleSource, discoverPackageModuleSources } = await import(
|
|
100
106
|
pathToFileURL(join(outdir, 'lib', 'generators', 'module-facts-discovery.js')).href
|
|
101
107
|
)
|
|
102
108
|
const { createResolver } = await import(pathToFileURL(join(outdir, 'lib', 'resolver.js')).href)
|
|
103
109
|
|
|
110
|
+
// Mirrors packages/create-app/build.mjs: the disabled app-local example never enters
|
|
111
|
+
// the normal package outputs and is projected into its own reference bundle so
|
|
112
|
+
// `mercato agentic:init` bundles exactly what a create-mercato-app scaffold does.
|
|
113
|
+
const REFERENCE_MODULE_IDS = ['example']
|
|
114
|
+
|
|
104
115
|
const sources = discoverPackageModuleSources(createResolver(join(packagesDir, '..')))
|
|
105
116
|
if (sources.length > 0) {
|
|
106
117
|
const registryPath = join(packagesDir, '..', 'apps', 'mercato', '.mercato', 'generated', 'modules.runtime.generated.ts')
|
|
@@ -117,6 +128,8 @@ await buildPackage(packageDir, {
|
|
|
117
128
|
coreVersion,
|
|
118
129
|
})
|
|
119
130
|
|
|
131
|
+
assertPackageModuleFactsOnly(factsByModule)
|
|
132
|
+
|
|
120
133
|
const modulesGuidesDir = join(guidesDestDir, 'modules')
|
|
121
134
|
mkdirSync(modulesGuidesDir, { recursive: true })
|
|
122
135
|
for (const [moduleId, markdown] of Object.entries(markdownByModule)) {
|
|
@@ -127,6 +140,33 @@ await buildPackage(packageDir, {
|
|
|
127
140
|
|
|
128
141
|
for (const warning of warnings) console.warn(warning)
|
|
129
142
|
console.log(`Generated ${Object.keys(markdownByModule).length} module fact-sheets → dist/agentic/guides/modules/`)
|
|
143
|
+
|
|
144
|
+
const referenceBundle = {}
|
|
145
|
+
const referenceGuidesDir = join(guidesDestDir, 'reference-modules')
|
|
146
|
+
const templateRoot = join(packagesDir, 'create-app', 'template')
|
|
147
|
+
for (const moduleId of REFERENCE_MODULE_IDS) {
|
|
148
|
+
const reference = discoverLocalReferenceModuleSource({ appRoot: templateRoot, moduleId })
|
|
149
|
+
if (!reference) {
|
|
150
|
+
throw new Error(`[module-facts] reference module "${moduleId}" is missing from the create-app template`)
|
|
151
|
+
}
|
|
152
|
+
const { entry, markdown, warnings: referenceWarnings, unresolvedTargets } = extractLocalReferenceModuleFacts({
|
|
153
|
+
packageSources: sources,
|
|
154
|
+
reference,
|
|
155
|
+
registryPath: existsSync(registryPath) ? registryPath : null,
|
|
156
|
+
coreVersion,
|
|
157
|
+
})
|
|
158
|
+
referenceBundle[moduleId] = entry
|
|
159
|
+
mkdirSync(referenceGuidesDir, { recursive: true })
|
|
160
|
+
writeFileSync(join(referenceGuidesDir, `${moduleId}.md`), markdown)
|
|
161
|
+
for (const warning of referenceWarnings) console.warn(warning)
|
|
162
|
+
for (const target of unresolvedTargets) {
|
|
163
|
+
console.warn(`[module-facts][reference] unresolved first-party target: ${target}`)
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
writeFileSync(join(guidesDestDir, 'reference-module-facts.json'), renderReferenceModuleFactsJson(referenceBundle))
|
|
167
|
+
console.log(
|
|
168
|
+
`Generated ${REFERENCE_MODULE_IDS.length} local reference projection(s) → dist/agentic/guides/reference-modules/`,
|
|
169
|
+
)
|
|
130
170
|
} else {
|
|
131
171
|
console.warn('[module-facts] no package modules discovered; skipping fact-sheet generation')
|
|
132
172
|
}
|
|
@@ -78,3 +78,7 @@ For a new editable entity or module, unless the brief explicitly excludes an ope
|
|
|
78
78
|
2. Exercise loading, empty, validation error, server error, conflict, success, and delete flows.
|
|
79
79
|
3. Save, reload, edit, clear nullable fields, and verify the API payload and rendered state agree.
|
|
80
80
|
4. Check keyboard and narrow-width behavior; run affected integration tests through real API fixtures.
|
|
81
|
+
|
|
82
|
+
## Canonical example source
|
|
83
|
+
|
|
84
|
+
This guide stays the rule owner. For one compiling implementation of a table, form, page shell, or rendered injected widget, open the exact row in [`src/modules/example/references/surface-map.md`](../../src/modules/example/references/surface-map.md) — its `Backend UI` section links each file — or go straight to [`components/TodosTable.tsx`](../../src/modules/example/components/TodosTable.tsx) and [`components/TodoForm.tsx`](../../src/modules/example/components/TodoForm.tsx). That module is source-present and runtime-disabled: read one row, never the tree, and rename every `example` identifier.
|