@supersoniks/concorde 5.1.2 → 5.1.3
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/.agents/skills/concorde-docs/SKILL.md +1 -1
- package/README.md +1 -1
- package/ai/README.md +29 -41
- package/ai/skills/concorde/SKILL.md +54 -324
- package/ai/skills/concorde/rules/composition.md +32 -0
- package/ai/skills/concorde/rules/data.md +47 -0
- package/ai/skills/concorde/rules/http.md +25 -0
- package/ai/skills/concorde/rules/lists-forms.md +35 -0
- package/ai/skills/concorde/rules/styling.md +46 -0
- package/ai/skills/concorde/rules/troubleshooting.md +45 -0
- package/build-infos.json +1 -1
- package/concorde-core.bundle.js +21 -21
- package/concorde-core.es.js +977 -980
- package/custom-elements-manifest.public.config.mjs +8 -0
- package/{.tmp-cem/custom-elements.json → custom-elements.json} +11722 -8868
- package/dist/concorde-core.bundle.js +21 -21
- package/dist/concorde-core.es.js +977 -980
- package/dist/docs-mock-api-sw.js +58 -223
- package/dist/docs-mock-api-sw.js.map +4 -4
- package/dist/img/concorde/plane_01.jpg +0 -0
- package/dist/img/concorde/plane_02.jpg +0 -0
- package/dist/img/concorde/plane_03.jpg +0 -0
- package/dist/img/concorde/plane_04.jpg +0 -0
- package/dist/img/concorde/plane_05.jpg +0 -0
- package/dist/img/concorde/plane_06.jpg +0 -0
- package/dist/img/concorde/plane_07.jpg +0 -0
- package/dist/img/concorde/plane_08.jpg +0 -0
- package/dist/img/concorde/plane_09.jpg +0 -0
- package/dist/img/concorde/plane_10.jpg +0 -0
- package/dist/img/concorde/plane_11.jpg +0 -0
- package/dist/img/concorde/plane_12.jpg +0 -0
- package/dist/img/concorde/plane_13.jpg +0 -0
- package/dist/img/og-concorde.jpg +0 -0
- package/dist/robots.txt +11 -10
- package/docs/.htaccess +7 -0
- package/docs/about.html +111 -0
- package/docs/about.md +22 -0
- package/docs/assets/{index-BgG6FFPt.js → index-6sS76xWj.js} +482 -500
- package/docs/assets/{index-x89XINSG.css → index-DkdPbH0F.css} +1 -1
- package/docs/core/components/functional/date/date.md +1 -1
- package/docs/core/components/functional/list/list.html +7 -5
- package/docs/core/components/functional/list/list.md +6 -2
- package/docs/core/components/ui/card/card.html +1 -1
- package/docs/core/components/ui/card/card.md +1 -1
- package/docs/core/components/ui/image/image.html +17 -17
- package/docs/core/components/ui/image/image.md +17 -17
- package/docs/core/components/ui/modal/modal.html +2 -2
- package/docs/core/components/ui/modal/modal.md +2 -2
- package/docs/custom-elements.json +16559 -0
- package/docs/docs/decorators/bind.html +22 -21
- package/docs/docs/decorators/bind.md +23 -24
- package/docs/docs/getting-started/ai-agents.html +50 -94
- package/docs/docs/getting-started/ai-agents.md +29 -55
- package/docs/docs/getting-started/dataFlow.html +1 -1
- package/docs/docs/getting-started/dataFlow.md +1 -1
- package/docs/docs/index.html +1 -1
- package/docs/hubs/decorators.html +11 -16
- package/docs/hubs/remote-data.html +5 -9
- package/docs/img/og-concorde.jpg +0 -0
- package/docs/index.html +91 -2
- package/docs/index.md +2 -2
- package/docs/llms-full.txt +58 -74
- package/docs/llms.txt +6 -4
- package/docs/privacy.html +122 -0
- package/docs/privacy.md +32 -0
- package/docs/sitemap.xml +6 -0
- package/docs/src/core/components/functional/date/date.md +1 -1
- package/docs/src/core/components/functional/list/list.md +6 -2
- package/docs/src/core/components/functional/sdui/component-catalog.gaps.json +1 -1
- package/docs/src/core/components/functional/sdui/component-catalog.json +1 -1
- package/docs/src/core/components/ui/card/card.md +1 -1
- package/docs/src/core/components/ui/image/image.md +17 -17
- package/docs/src/core/components/ui/modal/modal.md +2 -2
- package/docs/src/docs/decorators/bind.md +23 -24
- package/docs/src/docs/getting-started/ai-agents.md +29 -55
- package/docs/src/docs/getting-started/dataFlow.md +1 -1
- package/docs/src/docs/search/docs-search.json +100 -55
- package/docs/src/tsconfig.json +11 -5
- package/index.html +89 -0
- package/package.json +8 -4
- package/public/img/og-concorde.jpg +0 -0
- package/scripts/ai-init.mjs +104 -379
- package/scripts/ai-init.test.mjs +81 -239
- package/scripts/docs-markdown-vite-plugin.ts +11 -5
- package/scripts/docs-public-url.mjs +6 -0
- package/scripts/docs.htaccess +7 -0
- package/scripts/generate-cem.mjs +244 -0
- package/scripts/generate-cem.test.mjs +122 -0
- package/scripts/generate-crawl-docs.mjs +29 -5
- package/scripts/generate-sdui-catalog.mjs +11 -10
- package/scripts/post-build-docs.js +3 -0
- package/scripts/pre-publish.mjs +2 -1
- package/scripts/site-pages.mjs +212 -0
- package/scripts/site-pages.test.mjs +116 -0
- package/site-pages/about.md +22 -0
- package/site-pages/privacy.md +32 -0
- package/src/core/components/functional/date/date.md +1 -1
- package/src/core/components/functional/list/list.md +6 -2
- package/src/core/components/functional/sdui/component-catalog.gaps.json +1 -1
- package/src/core/components/functional/sdui/component-catalog.json +1 -1
- package/src/core/components/ui/card/card.md +1 -1
- package/src/core/components/ui/image/image.md +17 -17
- package/src/core/components/ui/modal/modal.md +2 -2
- package/src/core/decorators/subscriber/bind.ts +9 -14
- package/src/docs/components/docs-demo-sources.ts +3 -3
- package/src/docs/decorators/bind.md +23 -24
- package/src/docs/docs-location.spec.ts +10 -0
- package/src/docs/docs-location.ts +10 -0
- package/src/docs/example/decorators-demo-bind-demos.ts +11 -28
- package/src/docs/example/docs-toggle-demos.ts +1 -1
- package/src/docs/getting-started/ai-agents.md +29 -55
- package/src/docs/getting-started/dataFlow.md +1 -1
- package/src/docs/home/home.ts +3 -1
- package/src/docs/navigation/navigation.ts +1 -1
- package/src/docs/search/docs-search.json +100 -55
- package/src/docs/search/markdown-renderer.ts +6 -1
- package/src/docs/tailwind/css/docs/content.css +4 -5
- package/src/tsconfig.json +11 -5
- package/src/tsconfig.tsbuildinfo +1 -1
- package/ai/AGENTS.md +0 -56
- package/ai/cursor/rules/concorde-menu.mdc +0 -15
- package/ai/cursor/rules/concorde-scope.mdc +0 -14
- package/ai/cursor/rules/concorde-theme.mdc +0 -13
- package/ai/cursor/rules/concorde.mdc +0 -66
- package/ai/jetbrains/rules/concorde.md +0 -53
- package/ai/skills/concorde-get-set-dp/SKILL.md +0 -194
- package/ai/skills/concorde-imports/SKILL.md +0 -78
- package/ai/skills/concorde-menu/SKILL.md +0 -74
- package/ai/skills/concorde-scope/SKILL.md +0 -70
- package/ai/skills/concorde-theme/SKILL.md +0 -57
|
@@ -19,7 +19,7 @@ Recommended patterns for new Concorde apps (Lit + TypeScript). Under the hood, d
|
|
|
19
19
|
| Derived / aggregate (JSONata) | `derive()` or `sonic-jsonata` — [Jsonata](/core/components/functional/jsonata) |
|
|
20
20
|
| Offline doc demos | `serviceURL="/docs-mock-api"` — [Local API demos](/docs/misc/docs-mock-api) |
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
Agent skill: `concorde` (`rules/data.md`), see [AI agents](/docs/getting-started/ai-agents).
|
|
23
23
|
|
|
24
24
|
## DataProviderKey
|
|
25
25
|
|
package/src/docs/home/home.ts
CHANGED
|
@@ -131,7 +131,7 @@ const COMPONENT_COUNT = INDEX_TABS.reduce(
|
|
|
131
131
|
0,
|
|
132
132
|
);
|
|
133
133
|
|
|
134
|
-
const ARCHIVE = "
|
|
134
|
+
const ARCHIVE = "/img/archive/";
|
|
135
135
|
|
|
136
136
|
/** Credit lines for the archive pictures (CC BY / CC BY-SA, from assets.mjs --credits). */
|
|
137
137
|
const CREDITS = `Film: <a href="https://commons.wikimedia.org/wiki/File:Concorde_%26_Red_Arrows_2002.webm">“Concorde & Red Arrows 2002”</a> by Steve Elliott, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC BY-SA 2.0</a>, via Wikimedia Commons.`;
|
|
@@ -501,6 +501,8 @@ this.querySelectorAll("[data-reveal]").forEach((el) =>
|
|
|
501
501
|
<sonic-link href="https://www.npmjs.com/package/@supersoniks/concorde" target="_blank"
|
|
502
502
|
>npm</sonic-link
|
|
503
503
|
>
|
|
504
|
+
<sonic-link href="/about">About</sonic-link>
|
|
505
|
+
<sonic-link href="/privacy">Privacy</sonic-link>
|
|
504
506
|
</nav>
|
|
505
507
|
<span class="footer-end">MIT licence · ${new Date().getFullYear()}</span>
|
|
506
508
|
</div>
|
|
@@ -26,7 +26,7 @@ export const docsNavigation: Array<string | { label: string; href: string }> = [
|
|
|
26
26
|
href: "/docs/getting-started/dataFlow",
|
|
27
27
|
},
|
|
28
28
|
{
|
|
29
|
-
label: "AI agents (
|
|
29
|
+
label: "AI agents (skill)",
|
|
30
30
|
href: "/docs/getting-started/ai-agents",
|
|
31
31
|
},
|
|
32
32
|
"Functional components",
|
|
@@ -780,7 +780,7 @@
|
|
|
780
780
|
}
|
|
781
781
|
},
|
|
782
782
|
{
|
|
783
|
-
"search": "sonic-list renders one row per entry of its props array, either set directly or loaded with fetch.
|
|
783
|
+
"search": "sonic-list renders one row per entry of its props array, either set directly or loaded with fetch. In TypeScript, prefer the .items row renderer (with .separator · .noItems · .skeleton); <template> children are for plain HTML hosts without Lit. Each row gets its own data provider at <dataProvider>/list-item/<index>.\n",
|
|
784
784
|
"files": {
|
|
785
785
|
"core/components/functional/list/list.md": {
|
|
786
786
|
"title": "List",
|
|
@@ -810,7 +810,7 @@
|
|
|
810
810
|
}
|
|
811
811
|
},
|
|
812
812
|
{
|
|
813
|
-
"search": "Fetch attributes (lazyload · refetchEveryMs · headers · authentication) are shared with Fetch.\n",
|
|
813
|
+
"search": "This example uses HTML templates; from Lit, use the row renderer instead. Fetch attributes (lazyload · refetchEveryMs · headers · authentication) are shared with Fetch.\n",
|
|
814
814
|
"files": {
|
|
815
815
|
"core/components/functional/list/list.md": {
|
|
816
816
|
"title": "List",
|
|
@@ -914,6 +914,36 @@
|
|
|
914
914
|
}
|
|
915
915
|
}
|
|
916
916
|
},
|
|
917
|
+
{
|
|
918
|
+
"search": "Properties (TypeScript / Lit, preferred):\n",
|
|
919
|
+
"files": {
|
|
920
|
+
"core/components/functional/list/list.md": {
|
|
921
|
+
"title": "List",
|
|
922
|
+
"hashes": {
|
|
923
|
+
"api-reference": {
|
|
924
|
+
"count": 1,
|
|
925
|
+
"title": "API reference",
|
|
926
|
+
"type": "paragraph"
|
|
927
|
+
}
|
|
928
|
+
}
|
|
929
|
+
}
|
|
930
|
+
}
|
|
931
|
+
},
|
|
932
|
+
{
|
|
933
|
+
"search": "Templates (plain HTML hosts):\n",
|
|
934
|
+
"files": {
|
|
935
|
+
"core/components/functional/list/list.md": {
|
|
936
|
+
"title": "List",
|
|
937
|
+
"hashes": {
|
|
938
|
+
"api-reference": {
|
|
939
|
+
"count": 1,
|
|
940
|
+
"title": "API reference",
|
|
941
|
+
"type": "paragraph"
|
|
942
|
+
}
|
|
943
|
+
}
|
|
944
|
+
}
|
|
945
|
+
}
|
|
946
|
+
},
|
|
917
947
|
{
|
|
918
948
|
"search": "Mix",
|
|
919
949
|
"files": {
|
|
@@ -1290,7 +1320,7 @@
|
|
|
1290
1320
|
}
|
|
1291
1321
|
},
|
|
1292
1322
|
{
|
|
1293
|
-
"search": "Aide-mémoire pour les dépôts externes (adaptateurs, shells).Pas une page de la doc site — à lire dans le package npm(node_modules/@supersoniks/concorde/src/core/components/functional/sdui/sdui-extension-points.md).La doc utilisateur
|
|
1323
|
+
"search": "Aide-mémoire pour les dépôts externes (adaptateurs, shells).Pas une page de la doc site — à lire dans le package npm(node_modules/@supersoniks/concorde/src/core/components/functional/sdui/sdui-extension-points.md).La doc utilisateur reste sdui.md (auto-suffisante).\n",
|
|
1294
1324
|
"files": {
|
|
1295
1325
|
"core/components/functional/sdui/sdui-extension-points.md": {
|
|
1296
1326
|
"title": "SDUI — points d’extension publics",
|
|
@@ -6020,7 +6050,7 @@
|
|
|
6020
6050
|
}
|
|
6021
6051
|
},
|
|
6022
6052
|
{
|
|
6023
|
-
"search": "
|
|
6053
|
+
"search": "@bind(key) keeps a class property and one path of the DataProvider store in sync. With { reflect: true } the sync goes both ways: the property follows the store, and each assignment is written back to it. For one direction only, use the complementary decorators: @subscribe to read, @publish to write. See Data flow for the overall model.\n",
|
|
6024
6054
|
"files": {
|
|
6025
6055
|
"docs/decorators/bind.md": {
|
|
6026
6056
|
"title": "@bind",
|
|
@@ -6035,7 +6065,7 @@
|
|
|
6035
6065
|
}
|
|
6036
6066
|
},
|
|
6037
6067
|
{
|
|
6038
|
-
"search": "
|
|
6068
|
+
"search": "type Flight = { flight: string; gate: string; boarded: number };\nconst flightKey = new DataProviderKey<Flight>("flight");\n",
|
|
6039
6069
|
"files": {
|
|
6040
6070
|
"docs/decorators/bind.md": {
|
|
6041
6071
|
"title": "@bind",
|
|
@@ -6050,29 +6080,14 @@
|
|
|
6050
6080
|
}
|
|
6051
6081
|
},
|
|
6052
6082
|
{
|
|
6053
|
-
"search": "
|
|
6054
|
-
"files": {
|
|
6055
|
-
"docs/decorators/bind.md": {
|
|
6056
|
-
"title": "@bind",
|
|
6057
|
-
"hashes": {
|
|
6058
|
-
"basic-usage": {
|
|
6059
|
-
"count": 1,
|
|
6060
|
-
"title": "Basic usage",
|
|
6061
|
-
"type": "paragraph"
|
|
6062
|
-
}
|
|
6063
|
-
}
|
|
6064
|
-
}
|
|
6065
|
-
}
|
|
6066
|
-
},
|
|
6067
|
-
{
|
|
6068
|
-
"search": "With a DataProviderKey<T>, TypeScript checks that the property type matches T at that path.\n",
|
|
6083
|
+
"search": "@bind(flightKey.boarded, { reflect: true })\n@state()\nboarded = 0;\n \n\n",
|
|
6069
6084
|
"files": {
|
|
6070
6085
|
"docs/decorators/bind.md": {
|
|
6071
6086
|
"title": "@bind",
|
|
6072
6087
|
"hashes": {
|
|
6073
|
-
"
|
|
6088
|
+
"import": {
|
|
6074
6089
|
"count": 1,
|
|
6075
|
-
"title": "
|
|
6090
|
+
"title": "Import",
|
|
6076
6091
|
"type": "paragraph"
|
|
6077
6092
|
}
|
|
6078
6093
|
}
|
|
@@ -6080,14 +6095,14 @@
|
|
|
6080
6095
|
}
|
|
6081
6096
|
},
|
|
6082
6097
|
{
|
|
6083
|
-
"search": "
|
|
6098
|
+
"search": "The key is a DataProviderKey: TypeScript checks that the property type matches T at that path. The property updates each time the store value changes. Add @state() so Lit re-renders.\n",
|
|
6084
6099
|
"files": {
|
|
6085
6100
|
"docs/decorators/bind.md": {
|
|
6086
6101
|
"title": "@bind",
|
|
6087
6102
|
"hashes": {
|
|
6088
|
-
"
|
|
6103
|
+
"basic-usage": {
|
|
6089
6104
|
"count": 1,
|
|
6090
|
-
"title": "
|
|
6105
|
+
"title": "Basic usage",
|
|
6091
6106
|
"type": "paragraph"
|
|
6092
6107
|
}
|
|
6093
6108
|
}
|
|
@@ -6095,14 +6110,14 @@
|
|
|
6095
6110
|
}
|
|
6096
6111
|
},
|
|
6097
6112
|
{
|
|
6098
|
-
"search": "
|
|
6113
|
+
"search": "With reflect: true, each assignment to the property calls set() at the key path, so every other subscriber sees the new value. An internal guard prevents update loops. Without reflect (the default), assigning the property does not touch the store, and @bind behaves like @subscribe.\n",
|
|
6099
6114
|
"files": {
|
|
6100
6115
|
"docs/decorators/bind.md": {
|
|
6101
6116
|
"title": "@bind",
|
|
6102
6117
|
"hashes": {
|
|
6103
|
-
"
|
|
6118
|
+
"reflect": {
|
|
6104
6119
|
"count": 1,
|
|
6105
|
-
"title": "
|
|
6120
|
+
"title": "Reflect",
|
|
6106
6121
|
"type": "paragraph"
|
|
6107
6122
|
}
|
|
6108
6123
|
}
|
|
@@ -6110,14 +6125,14 @@
|
|
|
6110
6125
|
}
|
|
6111
6126
|
},
|
|
6112
6127
|
{
|
|
6113
|
-
"search": "
|
|
6128
|
+
"search": "Placeholders such as ${index} are resolved from properties of the same component, and @bind re-subscribes when they change. Declare them in the key's second generic and write them in a plain string, not a backtick template literal. While a placeholder is null or undefined the binding is inactive; { skipEmptyPlaceholder: true } also waits on "". Full rules: Dynamic paths.\n",
|
|
6114
6129
|
"files": {
|
|
6115
6130
|
"docs/decorators/bind.md": {
|
|
6116
6131
|
"title": "@bind",
|
|
6117
6132
|
"hashes": {
|
|
6118
|
-
"
|
|
6133
|
+
"dynamic-path": {
|
|
6119
6134
|
"count": 1,
|
|
6120
|
-
"title": "
|
|
6135
|
+
"title": "Dynamic path",
|
|
6121
6136
|
"type": "paragraph"
|
|
6122
6137
|
}
|
|
6123
6138
|
}
|
|
@@ -6125,7 +6140,7 @@
|
|
|
6125
6140
|
}
|
|
6126
6141
|
},
|
|
6127
6142
|
{
|
|
6128
|
-
"search": "
|
|
6143
|
+
"search": "@bind(personKey)\n@state()\nperson: Person | null = null;\n \n\n",
|
|
6129
6144
|
"files": {
|
|
6130
6145
|
"docs/decorators/bind.md": {
|
|
6131
6146
|
"title": "@bind",
|
|
@@ -8135,12 +8150,12 @@
|
|
|
8135
8150
|
}
|
|
8136
8151
|
},
|
|
8137
8152
|
{
|
|
8138
|
-
"search": "AI agents (
|
|
8153
|
+
"search": "AI agents (skill)",
|
|
8139
8154
|
"files": {
|
|
8140
8155
|
"docs/getting-started/ai-agents.md": {
|
|
8141
|
-
"title": "AI agents (
|
|
8156
|
+
"title": "AI agents (skill)",
|
|
8142
8157
|
"hashes": {
|
|
8143
|
-
"ai-agents-
|
|
8158
|
+
"ai-agents-skill": {
|
|
8144
8159
|
"count": 1,
|
|
8145
8160
|
"title": "",
|
|
8146
8161
|
"type": "page"
|
|
@@ -8150,12 +8165,12 @@
|
|
|
8150
8165
|
}
|
|
8151
8166
|
},
|
|
8152
8167
|
{
|
|
8153
|
-
"search": "Concorde ships
|
|
8168
|
+
"search": "Concorde ships one Agent Skill, concorde, so coding agents follow the framework patterns. Cursor, Claude Code, JetBrains Junie and other agents load it on their own when they work on Concorde code; there is nothing to add to your AGENTS.md.\n",
|
|
8154
8169
|
"files": {
|
|
8155
8170
|
"docs/getting-started/ai-agents.md": {
|
|
8156
|
-
"title": "AI agents (
|
|
8171
|
+
"title": "AI agents (skill)",
|
|
8157
8172
|
"hashes": {
|
|
8158
|
-
"ai-agents-
|
|
8173
|
+
"ai-agents-skill": {
|
|
8159
8174
|
"count": 1,
|
|
8160
8175
|
"title": "",
|
|
8161
8176
|
"type": "paragraph"
|
|
@@ -8165,12 +8180,12 @@
|
|
|
8165
8180
|
}
|
|
8166
8181
|
},
|
|
8167
8182
|
{
|
|
8168
|
-
"search": "On a starter project, run yarn ai:sync after install. On an existing project, install Concorde first, then
|
|
8183
|
+
"search": "On a starter project, run yarn ai:sync after install. On an existing project, install Concorde first, then run ai-init.\n",
|
|
8169
8184
|
"files": {
|
|
8170
8185
|
"docs/getting-started/ai-agents.md": {
|
|
8171
|
-
"title": "AI agents (
|
|
8186
|
+
"title": "AI agents (skill)",
|
|
8172
8187
|
"hashes": {
|
|
8173
|
-
"ai-agents-
|
|
8188
|
+
"ai-agents-skill": {
|
|
8174
8189
|
"count": 1,
|
|
8175
8190
|
"title": "",
|
|
8176
8191
|
"type": "paragraph"
|
|
@@ -8180,14 +8195,44 @@
|
|
|
8180
8195
|
}
|
|
8181
8196
|
},
|
|
8182
8197
|
{
|
|
8183
|
-
"search": "
|
|
8198
|
+
"search": "Re-run the same command after each Concorde upgrade to refresh the skill.\n",
|
|
8199
|
+
"files": {
|
|
8200
|
+
"docs/getting-started/ai-agents.md": {
|
|
8201
|
+
"title": "AI agents (skill)",
|
|
8202
|
+
"hashes": {
|
|
8203
|
+
"commands": {
|
|
8204
|
+
"count": 1,
|
|
8205
|
+
"title": "Commands",
|
|
8206
|
+
"type": "paragraph"
|
|
8207
|
+
}
|
|
8208
|
+
}
|
|
8209
|
+
}
|
|
8210
|
+
}
|
|
8211
|
+
},
|
|
8212
|
+
{
|
|
8213
|
+
"search": "SKILL.md is the entry point: where to find the truth (the project, these docs, custom-elements.json), the critical rules and the imports. Details live in rules/ files that the agent reads only for the topic at hand.\n",
|
|
8214
|
+
"files": {
|
|
8215
|
+
"docs/getting-started/ai-agents.md": {
|
|
8216
|
+
"title": "AI agents (skill)",
|
|
8217
|
+
"hashes": {
|
|
8218
|
+
"the-skill": {
|
|
8219
|
+
"count": 1,
|
|
8220
|
+
"title": "The skill",
|
|
8221
|
+
"type": "paragraph"
|
|
8222
|
+
}
|
|
8223
|
+
}
|
|
8224
|
+
}
|
|
8225
|
+
}
|
|
8226
|
+
},
|
|
8227
|
+
{
|
|
8228
|
+
"search": "Where symlinks are not allowed (some Windows setups), the skill is copied instead. Your own skills in these folders are never touched. Commit .agents/ and the links if your team shares agent settings.\n",
|
|
8184
8229
|
"files": {
|
|
8185
8230
|
"docs/getting-started/ai-agents.md": {
|
|
8186
|
-
"title": "AI agents (
|
|
8231
|
+
"title": "AI agents (skill)",
|
|
8187
8232
|
"hashes": {
|
|
8188
|
-
"
|
|
8233
|
+
"what-gets-installed": {
|
|
8189
8234
|
"count": 1,
|
|
8190
|
-
"title": "
|
|
8235
|
+
"title": "What gets installed",
|
|
8191
8236
|
"type": "paragraph"
|
|
8192
8237
|
}
|
|
8193
8238
|
}
|
|
@@ -8195,14 +8240,14 @@
|
|
|
8195
8240
|
}
|
|
8196
8241
|
},
|
|
8197
8242
|
{
|
|
8198
|
-
"search": "
|
|
8243
|
+
"search": "AGENTS.md stays yours: ai-init never reads or writes it.\n",
|
|
8199
8244
|
"files": {
|
|
8200
8245
|
"docs/getting-started/ai-agents.md": {
|
|
8201
|
-
"title": "AI agents (
|
|
8246
|
+
"title": "AI agents (skill)",
|
|
8202
8247
|
"hashes": {
|
|
8203
|
-
"
|
|
8248
|
+
"what-gets-installed": {
|
|
8204
8249
|
"count": 1,
|
|
8205
|
-
"title": "
|
|
8250
|
+
"title": "What gets installed",
|
|
8206
8251
|
"type": "paragraph"
|
|
8207
8252
|
}
|
|
8208
8253
|
}
|
|
@@ -8210,14 +8255,14 @@
|
|
|
8210
8255
|
}
|
|
8211
8256
|
},
|
|
8212
8257
|
{
|
|
8213
|
-
"search": "Source files in the npm package: node_modules/@supersoniks/concorde/ai/
|
|
8258
|
+
"search": "Source files in the npm package: node_modules/@supersoniks/concorde/ai/skills/concorde/.\n",
|
|
8214
8259
|
"files": {
|
|
8215
8260
|
"docs/getting-started/ai-agents.md": {
|
|
8216
|
-
"title": "AI agents (
|
|
8261
|
+
"title": "AI agents (skill)",
|
|
8217
8262
|
"hashes": {
|
|
8218
|
-
"
|
|
8263
|
+
"flags": {
|
|
8219
8264
|
"count": 1,
|
|
8220
|
-
"title": "
|
|
8265
|
+
"title": "Flags",
|
|
8221
8266
|
"type": "paragraph"
|
|
8222
8267
|
}
|
|
8223
8268
|
}
|
|
@@ -8570,7 +8615,7 @@
|
|
|
8570
8615
|
}
|
|
8571
8616
|
},
|
|
8572
8617
|
{
|
|
8573
|
-
"search": "
|
|
8618
|
+
"search": "Agent skill: concorde (rules/data.md), see AI agents.\n",
|
|
8574
8619
|
"files": {
|
|
8575
8620
|
"docs/getting-started/dataFlow.md": {
|
|
8576
8621
|
"title": "Data flow",
|
|
@@ -38,7 +38,12 @@ export class DocsMakdownRenderer extends Subscriber(LitElement) {
|
|
|
38
38
|
private _text = "";
|
|
39
39
|
set text(value: string) {
|
|
40
40
|
this._text = parseMarkdownWithSonicCode(
|
|
41
|
-
|
|
41
|
+
// Tables scroll in a wrapper, so they keep their full width on phones
|
|
42
|
+
(markdown) =>
|
|
43
|
+
(marked.parse(markdown) as string).replace(
|
|
44
|
+
/<table>[\s\S]*?<\/table>/g,
|
|
45
|
+
(table) => `<div class="docs-table-scroll">${table}</div>`,
|
|
46
|
+
),
|
|
42
47
|
value,
|
|
43
48
|
);
|
|
44
49
|
this.requestUpdate();
|
|
@@ -19,14 +19,13 @@ docs-markdown-renderer :is(h1, h2, h3, h4)[id] {
|
|
|
19
19
|
docs-page.prose :where(img) {
|
|
20
20
|
max-width: 100%;
|
|
21
21
|
}
|
|
22
|
+
/* Markdown tables keep 100% width; the wrapper scrolls when columns overflow */
|
|
23
|
+
docs-page .docs-table-scroll {
|
|
24
|
+
overflow-x: auto;
|
|
25
|
+
}
|
|
22
26
|
/* Wide demos (fixed min-width groups…) scroll instead of widening the page on phones */
|
|
23
27
|
@media (max-width: 639px) {
|
|
24
28
|
docs-page sonic-code > div {
|
|
25
29
|
overflow-x: auto;
|
|
26
30
|
}
|
|
27
|
-
/* tables stay 100% wide on larger screens; on phones they scroll */
|
|
28
|
-
docs-page.prose :where(table) {
|
|
29
|
-
display: block;
|
|
30
|
-
overflow-x: auto;
|
|
31
|
-
}
|
|
32
31
|
}
|
package/src/tsconfig.json
CHANGED
|
@@ -1074,6 +1074,9 @@
|
|
|
1074
1074
|
"./utils/HTML": [
|
|
1075
1075
|
"/sites/concorde/src/core/utils/HTML.ts"
|
|
1076
1076
|
],
|
|
1077
|
+
"./utils/LocationHandler.spec": [
|
|
1078
|
+
"/sites/concorde/src/core/utils/LocationHandler.spec.ts"
|
|
1079
|
+
],
|
|
1077
1080
|
"./utils/LocationHandler": [
|
|
1078
1081
|
"/sites/concorde/src/core/utils/LocationHandler.ts"
|
|
1079
1082
|
],
|
|
@@ -1185,6 +1188,9 @@
|
|
|
1185
1188
|
"./undefined/docs-source-raw": [
|
|
1186
1189
|
"/sites/concorde/src/docs/components/docs-source-raw.ts"
|
|
1187
1190
|
],
|
|
1191
|
+
"./docs-location.spec": [
|
|
1192
|
+
"/sites/concorde/src/docs/docs-location.spec.ts"
|
|
1193
|
+
],
|
|
1188
1194
|
"./docs-location": [
|
|
1189
1195
|
"/sites/concorde/src/docs/docs-location.ts"
|
|
1190
1196
|
],
|
|
@@ -1215,11 +1221,8 @@
|
|
|
1215
1221
|
"./example/docs-boarding-pass-demo": [
|
|
1216
1222
|
"/sites/concorde/src/docs/example/docs-boarding-pass-demo.ts"
|
|
1217
1223
|
],
|
|
1218
|
-
"./example/docs-
|
|
1219
|
-
"/sites/concorde/src/docs/example/docs-
|
|
1220
|
-
],
|
|
1221
|
-
"./example/docs-joke-demos": [
|
|
1222
|
-
"/sites/concorde/src/docs/example/docs-joke-demos.ts"
|
|
1224
|
+
"./example/docs-flight-demos": [
|
|
1225
|
+
"/sites/concorde/src/docs/example/docs-flight-demos.ts"
|
|
1223
1226
|
],
|
|
1224
1227
|
"./example/docs-jsonata-demos": [
|
|
1225
1228
|
"/sites/concorde/src/docs/example/docs-jsonata-demos.ts"
|
|
@@ -1275,6 +1278,9 @@
|
|
|
1275
1278
|
"./mock-api/fixtures": [
|
|
1276
1279
|
"/sites/concorde/src/docs/mock-api/fixtures.ts"
|
|
1277
1280
|
],
|
|
1281
|
+
"./mock-api/flights": [
|
|
1282
|
+
"/sites/concorde/src/docs/mock-api/flights.ts"
|
|
1283
|
+
],
|
|
1278
1284
|
"./mock-api/register": [
|
|
1279
1285
|
"/sites/concorde/src/docs/mock-api/register.ts"
|
|
1280
1286
|
],
|
package/src/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["./components.ts","./concorde-loaded.ts","./dataprovider.ts","./decorators.ts","./directives.ts","./index.ts","./mixins.ts","./utils.ts","./core/core.ts","./core/_types/endpoint.ts","./core/_types/key.ts","./core/_types/types.ts","./core/components/functional/functional.ts","./core/components/functional/date/date.ts","./core/components/functional/example/example.ts","./core/components/functional/fetch/fetch.ts","./core/components/functional/if/if.test.ts","./core/components/functional/if/if.ts","./core/components/functional/jsonata/jsonata.spec.ts","./core/components/functional/jsonata/jsonata.ts","./core/components/functional/list/list.demo.ts","./core/components/functional/list/list.spec.ts","./core/components/functional/list/list.ts","./core/components/functional/mix/mix.ts","./core/components/functional/queue/queue.demo.ts","./core/components/functional/queue/queue.ts","./core/components/functional/router/redirect.ts","./core/components/functional/router/router.demo.ts","./core/components/functional/router/router.spec.ts","./core/components/functional/router/router.ts","./core/components/functional/sdui/SDUIDescriptorTransformer.ts","./core/components/functional/sdui/component-catalog.spec.ts","./core/components/functional/sdui/sdui-action.spec.ts","./core/components/functional/sdui/sdui-dom-snapshot.ts","./core/components/functional/sdui/sdui-incremental.spec.ts","./core/components/functional/sdui/sdui-partial.spec.ts","./core/components/functional/sdui/sdui-partial.ts","./core/components/functional/sdui/sdui-safe.spec.ts","./core/components/functional/sdui/sdui-safe.ts","./core/components/functional/sdui/sdui-utils.ts","./core/components/functional/sdui/sdui.regression.spec.ts","./core/components/functional/sdui/sdui.ts","./core/components/functional/sdui/types.ts","./core/components/functional/sdui/__fixtures__/descriptors.ts","./core/components/functional/sonic-scope/sonic-scope.ts","./core/components/functional/states/states.demo.ts","./core/components/functional/states/states.spec.ts","./core/components/functional/states/states.ts","./core/components/functional/submit/submit.ts","./core/components/functional/subscriber/subscriber.ts","./core/components/functional/translation/translation.ts","./core/components/functional/value/value.ts","./core/components/ui/ui.ts","./core/components/ui/_css/align.ts","./core/components/ui/_css/rounded.ts","./core/components/ui/_css/scroll.ts","./core/components/ui/_css/shadow.ts","./core/components/ui/_css/size.ts","./core/components/ui/_css/type.ts","./core/components/ui/_i18n/ui-aria-labels.ts","./core/components/ui/alert/alert.spec.ts","./core/components/ui/alert/alert.ts","./core/components/ui/alert-messages/alert-messages.ts","./core/components/ui/badge/badge.ts","./core/components/ui/button/button.ts","./core/components/ui/captcha/altchaStyles.ts","./core/components/ui/captcha/captcha.ts","./core/components/ui/card/card-footer.ts","./core/components/ui/card/card-header-descripton.ts","./core/components/ui/card/card-header.ts","./core/components/ui/card/card-main.ts","./core/components/ui/card/card.ts","./core/components/ui/divider/divider.ts","./core/components/ui/form/checkbox/checkbox.ts","./core/components/ui/form/css/form-control.ts","./core/components/ui/form/fieldset/fieldset.ts","./core/components/ui/form/fieldset/legend-description.ts","./core/components/ui/form/fieldset/legend.ts","./core/components/ui/form/form-actions/form-actions.ts","./core/components/ui/form/form-layout/form-layout.ts","./core/components/ui/form/input/input.ts","./core/components/ui/form/input/password-helper.ts","./core/components/ui/form/input/same-value-helper.ts","./core/components/ui/form/input-autocomplete/input-autocomplete.ts","./core/components/ui/form/radio/radio.ts","./core/components/ui/form/select/select.ts","./core/components/ui/form/switch/switch.ts","./core/components/ui/form/textarea/textarea.ts","./core/components/ui/group/group.ts","./core/components/ui/icon/icon.stories.ts","./core/components/ui/icon/icon.ts","./core/components/ui/icon/icons.ts","./core/components/ui/image/image.ts","./core/components/ui/link/link.ts","./core/components/ui/loader/loader.stories.ts","./core/components/ui/loader/loader.ts","./core/components/ui/loader/styles/fixed.ts","./core/components/ui/loader/styles/inline.ts","./core/components/ui/menu/menu-item.ts","./core/components/ui/menu/menu.ts","./core/components/ui/modal/modal-actions.ts","./core/components/ui/modal/modal-close.ts","./core/components/ui/modal/modal-content.ts","./core/components/ui/modal/modal-subtitle.ts","./core/components/ui/modal/modal-title.ts","./core/components/ui/modal/modal-utils.ts","./core/components/ui/modal/modal.ts","./core/components/ui/pop/pop.ts","./core/components/ui/progress/progress.ts","./core/components/ui/table/table-caption.ts","./core/components/ui/table/table-tbody.ts","./core/components/ui/table/table-td.ts","./core/components/ui/table/table-tfoot.ts","./core/components/ui/table/table-th.ts","./core/components/ui/table/table-thead.ts","./core/components/ui/table/table-tr.ts","./core/components/ui/table/table.ts","./core/components/ui/theme/theme.ts","./core/components/ui/theme/theme-collection/auto.ts","./core/components/ui/theme/theme-collection/core-variables.ts","./core/components/ui/theme/theme-collection/dark.ts","./core/components/ui/theme/theme-collection/light.ts","./core/components/ui/toast/dismissed.ts","./core/components/ui/toast/message-subscriber.ts","./core/components/ui/toast/render-content.ts","./core/components/ui/toast/toast-item.ts","./core/components/ui/toast/toast.ts","./core/components/ui/toast/types.ts","./core/components/ui/tooltip/tooltip.ts","./core/decorators/Subscriber.ts","./core/decorators/api.post.spec.ts","./core/decorators/api.spec.ts","./core/decorators/api.ts","./core/decorators/lifecycle.ts","./core/decorators/subscriber/ancestorAttribute.spec.ts","./core/decorators/subscriber/ancestorAttribute.ts","./core/decorators/subscriber/autoFill.ts","./core/decorators/subscriber/autoSubscribe.ts","./core/decorators/subscriber/bind.ts","./core/decorators/subscriber/common.ts","./core/decorators/subscriber/derive.ts","./core/decorators/subscriber/dynamicPath.spec.ts","./core/decorators/subscriber/dynamicPath.ts","./core/decorators/subscriber/dynamicPropertyWatch.spec.ts","./core/decorators/subscriber/dynamicPropertyWatch.ts","./core/decorators/subscriber/handle.disambig.spec.ts","./core/decorators/subscriber/handle.skip.spec.ts","./core/decorators/subscriber/handle.ts","./core/decorators/subscriber/onAssign.ts","./core/decorators/subscriber/publish.spec.ts","./core/decorators/subscriber/publish.ts","./core/decorators/subscriber/publisherPath.ts","./core/decorators/subscriber/subscribe.spec.ts","./core/decorators/subscriber/subscribe.ts","./core/directives/DataProvider.sub.spec.ts","./core/directives/DataProvider.ts","./core/directives/Wording.ts","./core/mixins/Fetcher.ts","./core/mixins/FormCheckable.ts","./core/mixins/FormElement.ts","./core/mixins/FormInput.ts","./core/mixins/Subscriber.ts","./core/mixins/TemplatesContainer.ts","./core/mixins/mixins.ts","./core/utils/AncestorAttributeObserver.ts","./core/utils/Arrays.ts","./core/utils/DataBindObserver.ts","./core/utils/Electron.ts","./core/utils/Format.ts","./core/utils/HTML.ts","./core/utils/LocationHandler.ts","./core/utils/Objects.ts","./core/utils/PublisherProxy.ts","./core/utils/SafariScrollGuard.ts","./core/utils/Utils.ts","./core/utils/aesCrypto.ts","./core/utils/api.spec.ts","./core/utils/api.ts","./core/utils/dataProviderKey.spec.ts","./core/utils/dataProviderKey.ts","./core/utils/derive.spec.ts","./core/utils/derive.ts","./core/utils/dismissed.ts","./core/utils/dpOptions.spec.ts","./core/utils/endpoint.spec.ts","./core/utils/endpoint.ts","./core/utils/jsonataHelpers.ts","./core/utils/jsonataRuntime.ts","./core/utils/positioning.spec.ts","./core/utils/positioning.ts","./core/utils/publisherPathKey.spec.ts","./core/utils/route.spec.ts","./core/utils/route.ts","./core/utils/url-pattern.ts","./test-utils/TestUtils.ts"],"version":"5.9.2"}
|
|
1
|
+
{"root":["./components.ts","./concorde-loaded.ts","./dataprovider.ts","./decorators.ts","./directives.ts","./index.ts","./mixins.ts","./utils.ts","./core/core.ts","./core/_types/endpoint.ts","./core/_types/key.ts","./core/_types/types.ts","./core/components/functional/functional.ts","./core/components/functional/date/date.ts","./core/components/functional/example/example.ts","./core/components/functional/fetch/fetch.ts","./core/components/functional/if/if.test.ts","./core/components/functional/if/if.ts","./core/components/functional/jsonata/jsonata.spec.ts","./core/components/functional/jsonata/jsonata.ts","./core/components/functional/list/list.demo.ts","./core/components/functional/list/list.spec.ts","./core/components/functional/list/list.ts","./core/components/functional/mix/mix.ts","./core/components/functional/queue/queue.demo.ts","./core/components/functional/queue/queue.ts","./core/components/functional/router/redirect.ts","./core/components/functional/router/router.demo.ts","./core/components/functional/router/router.spec.ts","./core/components/functional/router/router.ts","./core/components/functional/sdui/SDUIDescriptorTransformer.ts","./core/components/functional/sdui/component-catalog.spec.ts","./core/components/functional/sdui/sdui-action.spec.ts","./core/components/functional/sdui/sdui-dom-snapshot.ts","./core/components/functional/sdui/sdui-incremental.spec.ts","./core/components/functional/sdui/sdui-partial.spec.ts","./core/components/functional/sdui/sdui-partial.ts","./core/components/functional/sdui/sdui-safe.spec.ts","./core/components/functional/sdui/sdui-safe.ts","./core/components/functional/sdui/sdui-utils.ts","./core/components/functional/sdui/sdui.regression.spec.ts","./core/components/functional/sdui/sdui.ts","./core/components/functional/sdui/types.ts","./core/components/functional/sdui/__fixtures__/descriptors.ts","./core/components/functional/sonic-scope/sonic-scope.ts","./core/components/functional/states/states.demo.ts","./core/components/functional/states/states.spec.ts","./core/components/functional/states/states.ts","./core/components/functional/submit/submit.ts","./core/components/functional/subscriber/subscriber.ts","./core/components/functional/translation/translation.ts","./core/components/functional/value/value.ts","./core/components/ui/ui.ts","./core/components/ui/_css/align.ts","./core/components/ui/_css/rounded.ts","./core/components/ui/_css/scroll.ts","./core/components/ui/_css/shadow.ts","./core/components/ui/_css/size.ts","./core/components/ui/_css/type.ts","./core/components/ui/_i18n/ui-aria-labels.ts","./core/components/ui/alert/alert.spec.ts","./core/components/ui/alert/alert.ts","./core/components/ui/alert-messages/alert-messages.ts","./core/components/ui/badge/badge.ts","./core/components/ui/button/button.ts","./core/components/ui/captcha/altchaStyles.ts","./core/components/ui/captcha/captcha.ts","./core/components/ui/card/card-footer.ts","./core/components/ui/card/card-header-descripton.ts","./core/components/ui/card/card-header.ts","./core/components/ui/card/card-main.ts","./core/components/ui/card/card.ts","./core/components/ui/divider/divider.ts","./core/components/ui/form/checkbox/checkbox.ts","./core/components/ui/form/css/form-control.ts","./core/components/ui/form/fieldset/fieldset.ts","./core/components/ui/form/fieldset/legend-description.ts","./core/components/ui/form/fieldset/legend.ts","./core/components/ui/form/form-actions/form-actions.ts","./core/components/ui/form/form-layout/form-layout.ts","./core/components/ui/form/input/input.ts","./core/components/ui/form/input/password-helper.ts","./core/components/ui/form/input/same-value-helper.ts","./core/components/ui/form/input-autocomplete/input-autocomplete.ts","./core/components/ui/form/radio/radio.ts","./core/components/ui/form/select/select.ts","./core/components/ui/form/switch/switch.ts","./core/components/ui/form/textarea/textarea.ts","./core/components/ui/group/group.ts","./core/components/ui/icon/icon.stories.ts","./core/components/ui/icon/icon.ts","./core/components/ui/icon/icons.ts","./core/components/ui/image/image.ts","./core/components/ui/link/link.ts","./core/components/ui/loader/loader.stories.ts","./core/components/ui/loader/loader.ts","./core/components/ui/loader/styles/fixed.ts","./core/components/ui/loader/styles/inline.ts","./core/components/ui/menu/menu-item.ts","./core/components/ui/menu/menu.ts","./core/components/ui/modal/modal-actions.ts","./core/components/ui/modal/modal-close.ts","./core/components/ui/modal/modal-content.ts","./core/components/ui/modal/modal-subtitle.ts","./core/components/ui/modal/modal-title.ts","./core/components/ui/modal/modal-utils.ts","./core/components/ui/modal/modal.ts","./core/components/ui/pop/pop.ts","./core/components/ui/progress/progress.ts","./core/components/ui/table/table-caption.ts","./core/components/ui/table/table-tbody.ts","./core/components/ui/table/table-td.ts","./core/components/ui/table/table-tfoot.ts","./core/components/ui/table/table-th.ts","./core/components/ui/table/table-thead.ts","./core/components/ui/table/table-tr.ts","./core/components/ui/table/table.ts","./core/components/ui/theme/theme.ts","./core/components/ui/theme/theme-collection/auto.ts","./core/components/ui/theme/theme-collection/core-variables.ts","./core/components/ui/theme/theme-collection/dark.ts","./core/components/ui/theme/theme-collection/light.ts","./core/components/ui/toast/dismissed.ts","./core/components/ui/toast/message-subscriber.ts","./core/components/ui/toast/render-content.ts","./core/components/ui/toast/toast-item.ts","./core/components/ui/toast/toast.ts","./core/components/ui/toast/types.ts","./core/components/ui/tooltip/tooltip.ts","./core/decorators/Subscriber.ts","./core/decorators/api.post.spec.ts","./core/decorators/api.spec.ts","./core/decorators/api.ts","./core/decorators/lifecycle.ts","./core/decorators/subscriber/ancestorAttribute.spec.ts","./core/decorators/subscriber/ancestorAttribute.ts","./core/decorators/subscriber/autoFill.ts","./core/decorators/subscriber/autoSubscribe.ts","./core/decorators/subscriber/bind.ts","./core/decorators/subscriber/common.ts","./core/decorators/subscriber/derive.ts","./core/decorators/subscriber/dynamicPath.spec.ts","./core/decorators/subscriber/dynamicPath.ts","./core/decorators/subscriber/dynamicPropertyWatch.spec.ts","./core/decorators/subscriber/dynamicPropertyWatch.ts","./core/decorators/subscriber/handle.disambig.spec.ts","./core/decorators/subscriber/handle.skip.spec.ts","./core/decorators/subscriber/handle.ts","./core/decorators/subscriber/onAssign.ts","./core/decorators/subscriber/publish.spec.ts","./core/decorators/subscriber/publish.ts","./core/decorators/subscriber/publisherPath.ts","./core/decorators/subscriber/subscribe.spec.ts","./core/decorators/subscriber/subscribe.ts","./core/directives/DataProvider.sub.spec.ts","./core/directives/DataProvider.ts","./core/directives/Wording.ts","./core/mixins/Fetcher.ts","./core/mixins/FormCheckable.ts","./core/mixins/FormElement.ts","./core/mixins/FormInput.ts","./core/mixins/Subscriber.ts","./core/mixins/TemplatesContainer.ts","./core/mixins/mixins.ts","./core/utils/AncestorAttributeObserver.ts","./core/utils/Arrays.ts","./core/utils/DataBindObserver.ts","./core/utils/Electron.ts","./core/utils/Format.ts","./core/utils/HTML.ts","./core/utils/LocationHandler.spec.ts","./core/utils/LocationHandler.ts","./core/utils/Objects.ts","./core/utils/PublisherProxy.ts","./core/utils/SafariScrollGuard.ts","./core/utils/Utils.ts","./core/utils/aesCrypto.ts","./core/utils/api.spec.ts","./core/utils/api.ts","./core/utils/dataProviderKey.spec.ts","./core/utils/dataProviderKey.ts","./core/utils/derive.spec.ts","./core/utils/derive.ts","./core/utils/dismissed.ts","./core/utils/dpOptions.spec.ts","./core/utils/endpoint.spec.ts","./core/utils/endpoint.ts","./core/utils/jsonataHelpers.ts","./core/utils/jsonataRuntime.ts","./core/utils/positioning.spec.ts","./core/utils/positioning.ts","./core/utils/publisherPathKey.spec.ts","./core/utils/route.spec.ts","./core/utils/route.ts","./core/utils/url-pattern.ts","./test-utils/TestUtils.ts"],"version":"5.9.2"}
|
package/ai/AGENTS.md
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
# Agents — Concorde
|
|
2
|
-
|
|
3
|
-
Guide pour les agents IA sur un projet **Concorde** (Lit + DataProvider).
|
|
4
|
-
|
|
5
|
-
## Skills / rules (après installation)
|
|
6
|
-
|
|
7
|
-
| Fichier | Rôle |
|
|
8
|
-
|---------|------|
|
|
9
|
-
| `.cursor/skills/concorde/SKILL.md` | Patterns framework |
|
|
10
|
-
| `.cursor/skills/concorde-imports/SKILL.md` | Imports courts |
|
|
11
|
-
| `.cursor/skills/concorde-scope/SKILL.md` | Scope + APIConfiguration |
|
|
12
|
-
| `.cursor/skills/concorde-theme/SKILL.md` | Design tokens sonic-theme |
|
|
13
|
-
| `.cursor/skills/concorde-menu/SKILL.md` | Navigation sonic-menu |
|
|
14
|
-
| `.cursor/skills/concorde-get-set-dp/SKILL.md` | Migration get/set/dp + DataProviderKey statique |
|
|
15
|
-
| `.cursor/rules/concorde.mdc` | Règles Cursor (patterns) |
|
|
16
|
-
| `.aiassistant/rules/concorde.md` | Règles JetBrains AI Assistant |
|
|
17
|
-
|
|
18
|
-
Installation :
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
node node_modules/@supersoniks/concorde/scripts/ai-init.mjs
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
Source : `@supersoniks/concorde/ai/`
|
|
25
|
-
|
|
26
|
-
## Imports dans ce dépôt (lib + doc)
|
|
27
|
-
|
|
28
|
-
Les chemins courts (`@supersoniks/concorde/list`, `/menu`, `/queue`, …) sont des **exports npm** pour les apps **externes**. Dans le repo Concorde (`src/docs`, `src/core`, démos), utiliser les chemins **réels** :
|
|
29
|
-
|
|
30
|
-
- Composants : `@supersoniks/concorde/core/components/…` ou import relatif (`../../core/components/functional/list/list`)
|
|
31
|
-
- Décorateurs : `@supersoniks/concorde/core/decorators/Subscriber` (ou `src/decorators.ts` via `@supersoniks/concorde/decorators` si résolu par l’alias Vite racine)
|
|
32
|
-
- `DataProviderKey` : `@supersoniks/concorde/core/utils/dataProviderKey`
|
|
33
|
-
|
|
34
|
-
Skill **`concorde-imports`** : section « Dans le dépôt Concorde ».
|
|
35
|
-
|
|
36
|
-
## Conventions impératives
|
|
37
|
-
|
|
38
|
-
- Toujours **DataProvider**, accès via **`get` / `set`**
|
|
39
|
-
- Pas de **`sonic-fetch`**, pas de **`PublisherManager`**
|
|
40
|
-
- Pas de `@onAssign` — **`@handle`** + `DataProviderKey`
|
|
41
|
-
- Pas de **`@bind`** sur les composants métier — **`@subscribe`** + `DataProviderKey<T, U>` (type + contraintes hôte `${…}`)
|
|
42
|
-
- Formulaires : **`formDataProvider`** + `name` sur `sonic-input`
|
|
43
|
-
- Listes : templates **Lit** (`.items`, `.separator`, `.noItems`, `.skeleton`) — pas de promotion des `<template>` HTML
|
|
44
|
-
- **Scope** (API/forms) ≠ **theme** (couleurs) — skills `concorde-scope` / `concorde-theme`
|
|
45
|
-
|
|
46
|
-
## Migration get / set / dp
|
|
47
|
-
|
|
48
|
-
Skill **`concorde-get-set-dp`** : chemins sans placeholder **`${…}`** / **`{$…}`** pour `get` / `set` / `dp` ; chemins JS évalués OK ; clés dynamiques → décorateurs, `dp(idRésolu)`, ou **`sub(clé)`** dans les templates Lit.
|
|
49
|
-
|
|
50
|
-
## Migration Subscriber / sonic-fetch
|
|
51
|
-
|
|
52
|
-
Skill **`concorde`** — section **« Piège migration Subscriber → LitElement »** : ne pas laisser des `@property` orphelines après retrait du mixin ; `@get` + `@subscribe` feuille ; `apiConfigKey` en modale ; sync des noms de props pour les `Endpoint` dynamiques.
|
|
53
|
-
|
|
54
|
-
## Documentation
|
|
55
|
-
|
|
56
|
-
Fichiers `.md` dans le package : `node_modules/@supersoniks/concorde/src/` (composants, décorateurs, getting-started).
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Navigation Concorde — sonic-menu, sonic-menu-item, sonic-divider
|
|
3
|
-
globs: **/{layout,sidebar,nav,docs-shell,routes}/**
|
|
4
|
-
alwaysApply: false
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Navigation Concorde
|
|
8
|
-
|
|
9
|
-
1. **`sonic-menu`** + **`sonic-menu-item`** — pas une liste de boutons ghost.
|
|
10
|
-
2. Sections : **`sonic-divider`** (`label`, `align="left"`, `size="sm"`).
|
|
11
|
-
3. Liens internes : `pushstate` + `href` + `autoActive="strict"`.
|
|
12
|
-
|
|
13
|
-
Référence : `.cursor/skills/concorde-menu/SKILL.md`
|
|
14
|
-
|
|
15
|
-
Pas de tirets dans les noms de dossiers de routes (générateur Concorde).
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Scope — inherited API, form, icon defaults (not theme)
|
|
3
|
-
globs: **/*.{ts,tsx,html}
|
|
4
|
-
alwaysApply: false
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Scope
|
|
8
|
-
|
|
9
|
-
Skill **`concorde-scope`**
|
|
10
|
-
|
|
11
|
-
- `<sonic-scope>` — light DOM, attributes inherited by descendants
|
|
12
|
-
- API: `serviceURL`, `token`, `credentials` → `@get`, list, queue
|
|
13
|
-
- Or: `DataProviderKey<APIConfiguration>` as 2nd arg to `@get`
|
|
14
|
-
- Not for colors/fonts — use **`concorde-theme`**
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: sonic-theme — design tokens, not API scope
|
|
3
|
-
globs: **/*.{ts,tsx,css,html}
|
|
4
|
-
alwaysApply: false
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Theme
|
|
8
|
-
|
|
9
|
-
Skill **`concorde-theme`**
|
|
10
|
-
|
|
11
|
-
- `<sonic-theme color font class="block bg-base">` + `--sc-*` CSS variables
|
|
12
|
-
- `theme="dark"` for built-in dark palette
|
|
13
|
-
- Not for `serviceURL` / API — use **`concorde-scope`**
|