@genesislcap/ai-assistant 15.51.0 → 15.51.1

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.
Files changed (2) hide show
  1. package/dist/custom-elements.json +403 -403
  2. package/package.json +17 -17
@@ -1754,211 +1754,6 @@
1754
1754
  }
1755
1755
  ]
1756
1756
  },
1757
- {
1758
- "kind": "javascript-module",
1759
- "path": "src/config/config.ts",
1760
- "declarations": [
1761
- {
1762
- "kind": "function",
1763
- "name": "defineAgent",
1764
- "description": "Identity helper that infers the narrowest possible type for an agent config,\npreserving string literal types (including `name`) without requiring `as const`.\n\nUse this when you need `typeof myAgent` to carry the literal `name` type —\nfor example, when wiring `ChatToolHandlers<typeof myAgent>`.\n\n```ts\nconst myAgent = defineAgent({ name: 'my_agent', ... });\ntype Handlers = ChatToolHandlers<typeof myAgent>;\n// requestSubAgent name param is now typed as 'my_agent'\n```"
1765
- }
1766
- ],
1767
- "exports": [
1768
- {
1769
- "kind": "js",
1770
- "name": "CachePolicy",
1771
- "declaration": {
1772
- "name": "CachePolicy",
1773
- "module": "src/config/config.ts"
1774
- }
1775
- },
1776
- {
1777
- "kind": "js",
1778
- "name": "ChatFallback",
1779
- "declaration": {
1780
- "name": "ChatFallback",
1781
- "module": "src/config/config.ts"
1782
- }
1783
- },
1784
- {
1785
- "kind": "js",
1786
- "name": "ChatInputDuringExecutionMode",
1787
- "declaration": {
1788
- "name": "ChatInputDuringExecutionMode",
1789
- "module": "src/config/config.ts"
1790
- }
1791
- },
1792
- {
1793
- "kind": "js",
1794
- "name": "ChatThinkingPolicy",
1795
- "declaration": {
1796
- "name": "ChatThinkingPolicy",
1797
- "module": "src/config/config.ts"
1798
- }
1799
- },
1800
- {
1801
- "kind": "js",
1802
- "name": "ChatToolChoice",
1803
- "declaration": {
1804
- "name": "ChatToolChoice",
1805
- "module": "src/config/config.ts"
1806
- }
1807
- },
1808
- {
1809
- "kind": "js",
1810
- "name": "defineAgent",
1811
- "declaration": {
1812
- "name": "defineAgent",
1813
- "module": "src/config/config.ts"
1814
- }
1815
- }
1816
- ]
1817
- },
1818
- {
1819
- "kind": "javascript-module",
1820
- "path": "src/config/define-stateful-agent.ts",
1821
- "declarations": [
1822
- {
1823
- "kind": "function",
1824
- "name": "restoreMachine",
1825
- "return": {
1826
- "type": {
1827
- "text": "void"
1828
- }
1829
- },
1830
- "parameters": [
1831
- {
1832
- "name": "machine",
1833
- "type": {
1834
- "text": "{ stop: () => void; start: (options?: { state?: unknown }) => void }"
1835
- },
1836
- "description": "the machine to restore (already constructed/started)."
1837
- },
1838
- {
1839
- "name": "restored",
1840
- "type": {
1841
- "text": "unknown"
1842
- },
1843
- "description": "the agent's serialized image (`ctx.restored` in `init`)."
1844
- },
1845
- {
1846
- "name": "key",
1847
- "default": "'machine'",
1848
- "description": "the property the machine occupies in the snapshot; defaults to\n`'machine'` to match the conventional `{ machine }` state bag."
1849
- }
1850
- ],
1851
- "description": "Restore a foundation-state-machine instance from a snapshot produced by the\ndefault serializer (or `machine.getPersistedSnapshot()`). Call inside a\nstateful agent's `init` to resume the machine in its exact prior place:\n\n```ts\ninit: ({ restored }) => {\n const machine = new MyMachine();\n restoreMachine(machine, restored); // resume, or no-op on a fresh start\n return { machine };\n}\n```\n\nNo-ops when there is nothing to restore (a fresh session), leaving the\nfreshly-constructed machine in its initial state."
1852
- },
1853
- {
1854
- "kind": "function",
1855
- "name": "defineStatefulAgent",
1856
- "return": {
1857
- "type": {
1858
- "text": "AgentConfig"
1859
- }
1860
- },
1861
- "parameters": [
1862
- {
1863
- "name": "opts",
1864
- "type": {
1865
- "text": "StatefulAgentInit<S>"
1866
- }
1867
- }
1868
- ],
1869
- "description": "Build an `AgentConfig` whose `systemPrompt`, `toolDefinitions`, and tool\nhandlers all close over a long-lived state object created on activation.\n\nThe framework wires the lifecycle: `init` on `onActivate`, `dispose` on\n`onDeactivate`. State is held inside the helper's closure — never exposed on\nthe resulting `AgentConfig` — so the redux serializer doesn't see it."
1870
- }
1871
- ],
1872
- "exports": [
1873
- {
1874
- "kind": "js",
1875
- "name": "restoreMachine",
1876
- "declaration": {
1877
- "name": "restoreMachine",
1878
- "module": "src/config/define-stateful-agent.ts"
1879
- }
1880
- },
1881
- {
1882
- "kind": "js",
1883
- "name": "defineStatefulAgent",
1884
- "declaration": {
1885
- "name": "defineStatefulAgent",
1886
- "module": "src/config/define-stateful-agent.ts"
1887
- }
1888
- }
1889
- ]
1890
- },
1891
- {
1892
- "kind": "javascript-module",
1893
- "path": "src/config/fallback-agents.ts",
1894
- "declarations": [
1895
- {
1896
- "kind": "variable",
1897
- "name": "friendlyFallbackAgent",
1898
- "type": {
1899
- "text": "FallbackAgentConfig"
1900
- },
1901
- "default": "{\n name: 'Assistant',\n fallback: true,\n systemPrompt: `You are a warm, friendly assistant. For general conversation like \"Hi\" or \"How are you\", you can have a friendly chat. For anything more complex, you cannot directly help, but you can explain what specialists are available. The available specialists are:\\n\\n{{agents}}\\n\\nPolitely let the user know what you can help with and invite them to rephrase their request if it is outside your scope.`,\n}",
1902
- "description": "A warm, conversational fallback agent. Acknowledges it can't help directly,\nexplains what the available specialists can do, and invites the user to retry.\n\nThe system prompt is generated at runtime by `OrchestratingDriver` from the\nspecialist list — no manual authoring required."
1903
- },
1904
- {
1905
- "kind": "variable",
1906
- "name": "strictFallbackAgent",
1907
- "type": {
1908
- "text": "FallbackAgentConfig"
1909
- },
1910
- "default": "{\n name: 'Assistant',\n fallback: true,\n systemPrompt: `You are a concise assistant. The user's request is outside your scope. The available specialists are: {{agents}}.\n\n{{unroutable}}\n\nAnswer in a single short sentence. Do not elaborate.`,\n}",
1911
- "description": "A brief, professional fallback agent. States what is available without\nelaboration. The `{{agents}}` placeholder is replaced at runtime by\n`OrchestratingDriver` with the generated specialist list.\n\nThe `{{unroutable}}` placeholder positions `UNROUTABLE_INSTRUCTION` — the framework's\ninstruction for a substantive request no specialist covers, which is otherwise APPENDED to a\nstring-form prompt. Positioned rather than appended for one reason: this preset's whole point is\nbrevity, and appended text would be the last thing the model reads. Putting the block above the\nbrevity rule leaves \"a single short sentence\" with the recency, so the two compose instead of\ncompeting. A prompt whose tone rules matter should do the same."
1912
- }
1913
- ],
1914
- "exports": [
1915
- {
1916
- "kind": "js",
1917
- "name": "friendlyFallbackAgent",
1918
- "declaration": {
1919
- "name": "friendlyFallbackAgent",
1920
- "module": "src/config/fallback-agents.ts"
1921
- }
1922
- },
1923
- {
1924
- "kind": "js",
1925
- "name": "strictFallbackAgent",
1926
- "declaration": {
1927
- "name": "strictFallbackAgent",
1928
- "module": "src/config/fallback-agents.ts"
1929
- }
1930
- }
1931
- ]
1932
- },
1933
- {
1934
- "kind": "javascript-module",
1935
- "path": "src/config/index.ts",
1936
- "declarations": [],
1937
- "exports": [
1938
- {
1939
- "kind": "js",
1940
- "name": "*",
1941
- "declaration": {
1942
- "name": "*",
1943
- "package": "./config"
1944
- }
1945
- },
1946
- {
1947
- "kind": "js",
1948
- "name": "*",
1949
- "declaration": {
1950
- "name": "*",
1951
- "package": "./fallback-agents"
1952
- }
1953
- }
1954
- ]
1955
- },
1956
- {
1957
- "kind": "javascript-module",
1958
- "path": "src/config/validate-providers.ts",
1959
- "declarations": [],
1960
- "exports": []
1961
- },
1962
1757
  {
1963
1758
  "kind": "javascript-module",
1964
1759
  "path": "src/genesis/calendar.ts",
@@ -3144,52 +2939,257 @@
3144
2939
  },
3145
2940
  {
3146
2941
  "kind": "javascript-module",
3147
- "path": "src/main/attachment-controller.ts",
3148
- "declarations": [],
3149
- "exports": []
3150
- },
3151
- {
3152
- "kind": "javascript-module",
3153
- "path": "src/main/budget-controller.ts",
3154
- "declarations": [],
3155
- "exports": []
3156
- },
3157
- {
3158
- "kind": "javascript-module",
3159
- "path": "src/main/composer-menu-controller.ts",
3160
- "declarations": [],
3161
- "exports": []
3162
- },
3163
- {
3164
- "kind": "javascript-module",
3165
- "path": "src/main/composer-resize-controller.ts",
3166
- "declarations": [],
3167
- "exports": []
3168
- },
3169
- {
3170
- "kind": "javascript-module",
3171
- "path": "src/main/context-gate-controller.ts",
3172
- "declarations": [],
3173
- "exports": []
3174
- },
3175
- {
3176
- "kind": "javascript-module",
3177
- "path": "src/main/cost-ledger-controller.ts",
3178
- "declarations": [],
3179
- "exports": []
3180
- },
3181
- {
3182
- "kind": "javascript-module",
3183
- "path": "src/main/index.ts",
3184
- "declarations": [],
2942
+ "path": "src/config/config.ts",
2943
+ "declarations": [
2944
+ {
2945
+ "kind": "function",
2946
+ "name": "defineAgent",
2947
+ "description": "Identity helper that infers the narrowest possible type for an agent config,\npreserving string literal types (including `name`) without requiring `as const`.\n\nUse this when you need `typeof myAgent` to carry the literal `name` type —\nfor example, when wiring `ChatToolHandlers<typeof myAgent>`.\n\n```ts\nconst myAgent = defineAgent({ name: 'my_agent', ... });\ntype Handlers = ChatToolHandlers<typeof myAgent>;\n// requestSubAgent name param is now typed as 'my_agent'\n```"
2948
+ }
2949
+ ],
3185
2950
  "exports": [
3186
2951
  {
3187
2952
  "kind": "js",
3188
- "name": "*",
2953
+ "name": "CachePolicy",
3189
2954
  "declaration": {
3190
- "name": "*",
3191
- "package": "./main.template"
3192
- }
2955
+ "name": "CachePolicy",
2956
+ "module": "src/config/config.ts"
2957
+ }
2958
+ },
2959
+ {
2960
+ "kind": "js",
2961
+ "name": "ChatFallback",
2962
+ "declaration": {
2963
+ "name": "ChatFallback",
2964
+ "module": "src/config/config.ts"
2965
+ }
2966
+ },
2967
+ {
2968
+ "kind": "js",
2969
+ "name": "ChatInputDuringExecutionMode",
2970
+ "declaration": {
2971
+ "name": "ChatInputDuringExecutionMode",
2972
+ "module": "src/config/config.ts"
2973
+ }
2974
+ },
2975
+ {
2976
+ "kind": "js",
2977
+ "name": "ChatThinkingPolicy",
2978
+ "declaration": {
2979
+ "name": "ChatThinkingPolicy",
2980
+ "module": "src/config/config.ts"
2981
+ }
2982
+ },
2983
+ {
2984
+ "kind": "js",
2985
+ "name": "ChatToolChoice",
2986
+ "declaration": {
2987
+ "name": "ChatToolChoice",
2988
+ "module": "src/config/config.ts"
2989
+ }
2990
+ },
2991
+ {
2992
+ "kind": "js",
2993
+ "name": "defineAgent",
2994
+ "declaration": {
2995
+ "name": "defineAgent",
2996
+ "module": "src/config/config.ts"
2997
+ }
2998
+ }
2999
+ ]
3000
+ },
3001
+ {
3002
+ "kind": "javascript-module",
3003
+ "path": "src/config/define-stateful-agent.ts",
3004
+ "declarations": [
3005
+ {
3006
+ "kind": "function",
3007
+ "name": "restoreMachine",
3008
+ "return": {
3009
+ "type": {
3010
+ "text": "void"
3011
+ }
3012
+ },
3013
+ "parameters": [
3014
+ {
3015
+ "name": "machine",
3016
+ "type": {
3017
+ "text": "{ stop: () => void; start: (options?: { state?: unknown }) => void }"
3018
+ },
3019
+ "description": "the machine to restore (already constructed/started)."
3020
+ },
3021
+ {
3022
+ "name": "restored",
3023
+ "type": {
3024
+ "text": "unknown"
3025
+ },
3026
+ "description": "the agent's serialized image (`ctx.restored` in `init`)."
3027
+ },
3028
+ {
3029
+ "name": "key",
3030
+ "default": "'machine'",
3031
+ "description": "the property the machine occupies in the snapshot; defaults to\n`'machine'` to match the conventional `{ machine }` state bag."
3032
+ }
3033
+ ],
3034
+ "description": "Restore a foundation-state-machine instance from a snapshot produced by the\ndefault serializer (or `machine.getPersistedSnapshot()`). Call inside a\nstateful agent's `init` to resume the machine in its exact prior place:\n\n```ts\ninit: ({ restored }) => {\n const machine = new MyMachine();\n restoreMachine(machine, restored); // resume, or no-op on a fresh start\n return { machine };\n}\n```\n\nNo-ops when there is nothing to restore (a fresh session), leaving the\nfreshly-constructed machine in its initial state."
3035
+ },
3036
+ {
3037
+ "kind": "function",
3038
+ "name": "defineStatefulAgent",
3039
+ "return": {
3040
+ "type": {
3041
+ "text": "AgentConfig"
3042
+ }
3043
+ },
3044
+ "parameters": [
3045
+ {
3046
+ "name": "opts",
3047
+ "type": {
3048
+ "text": "StatefulAgentInit<S>"
3049
+ }
3050
+ }
3051
+ ],
3052
+ "description": "Build an `AgentConfig` whose `systemPrompt`, `toolDefinitions`, and tool\nhandlers all close over a long-lived state object created on activation.\n\nThe framework wires the lifecycle: `init` on `onActivate`, `dispose` on\n`onDeactivate`. State is held inside the helper's closure — never exposed on\nthe resulting `AgentConfig` — so the redux serializer doesn't see it."
3053
+ }
3054
+ ],
3055
+ "exports": [
3056
+ {
3057
+ "kind": "js",
3058
+ "name": "restoreMachine",
3059
+ "declaration": {
3060
+ "name": "restoreMachine",
3061
+ "module": "src/config/define-stateful-agent.ts"
3062
+ }
3063
+ },
3064
+ {
3065
+ "kind": "js",
3066
+ "name": "defineStatefulAgent",
3067
+ "declaration": {
3068
+ "name": "defineStatefulAgent",
3069
+ "module": "src/config/define-stateful-agent.ts"
3070
+ }
3071
+ }
3072
+ ]
3073
+ },
3074
+ {
3075
+ "kind": "javascript-module",
3076
+ "path": "src/config/fallback-agents.ts",
3077
+ "declarations": [
3078
+ {
3079
+ "kind": "variable",
3080
+ "name": "friendlyFallbackAgent",
3081
+ "type": {
3082
+ "text": "FallbackAgentConfig"
3083
+ },
3084
+ "default": "{\n name: 'Assistant',\n fallback: true,\n systemPrompt: `You are a warm, friendly assistant. For general conversation like \"Hi\" or \"How are you\", you can have a friendly chat. For anything more complex, you cannot directly help, but you can explain what specialists are available. The available specialists are:\\n\\n{{agents}}\\n\\nPolitely let the user know what you can help with and invite them to rephrase their request if it is outside your scope.`,\n}",
3085
+ "description": "A warm, conversational fallback agent. Acknowledges it can't help directly,\nexplains what the available specialists can do, and invites the user to retry.\n\nThe system prompt is generated at runtime by `OrchestratingDriver` from the\nspecialist list — no manual authoring required."
3086
+ },
3087
+ {
3088
+ "kind": "variable",
3089
+ "name": "strictFallbackAgent",
3090
+ "type": {
3091
+ "text": "FallbackAgentConfig"
3092
+ },
3093
+ "default": "{\n name: 'Assistant',\n fallback: true,\n systemPrompt: `You are a concise assistant. The user's request is outside your scope. The available specialists are: {{agents}}.\n\n{{unroutable}}\n\nAnswer in a single short sentence. Do not elaborate.`,\n}",
3094
+ "description": "A brief, professional fallback agent. States what is available without\nelaboration. The `{{agents}}` placeholder is replaced at runtime by\n`OrchestratingDriver` with the generated specialist list.\n\nThe `{{unroutable}}` placeholder positions `UNROUTABLE_INSTRUCTION` — the framework's\ninstruction for a substantive request no specialist covers, which is otherwise APPENDED to a\nstring-form prompt. Positioned rather than appended for one reason: this preset's whole point is\nbrevity, and appended text would be the last thing the model reads. Putting the block above the\nbrevity rule leaves \"a single short sentence\" with the recency, so the two compose instead of\ncompeting. A prompt whose tone rules matter should do the same."
3095
+ }
3096
+ ],
3097
+ "exports": [
3098
+ {
3099
+ "kind": "js",
3100
+ "name": "friendlyFallbackAgent",
3101
+ "declaration": {
3102
+ "name": "friendlyFallbackAgent",
3103
+ "module": "src/config/fallback-agents.ts"
3104
+ }
3105
+ },
3106
+ {
3107
+ "kind": "js",
3108
+ "name": "strictFallbackAgent",
3109
+ "declaration": {
3110
+ "name": "strictFallbackAgent",
3111
+ "module": "src/config/fallback-agents.ts"
3112
+ }
3113
+ }
3114
+ ]
3115
+ },
3116
+ {
3117
+ "kind": "javascript-module",
3118
+ "path": "src/config/index.ts",
3119
+ "declarations": [],
3120
+ "exports": [
3121
+ {
3122
+ "kind": "js",
3123
+ "name": "*",
3124
+ "declaration": {
3125
+ "name": "*",
3126
+ "package": "./config"
3127
+ }
3128
+ },
3129
+ {
3130
+ "kind": "js",
3131
+ "name": "*",
3132
+ "declaration": {
3133
+ "name": "*",
3134
+ "package": "./fallback-agents"
3135
+ }
3136
+ }
3137
+ ]
3138
+ },
3139
+ {
3140
+ "kind": "javascript-module",
3141
+ "path": "src/config/validate-providers.ts",
3142
+ "declarations": [],
3143
+ "exports": []
3144
+ },
3145
+ {
3146
+ "kind": "javascript-module",
3147
+ "path": "src/main/attachment-controller.ts",
3148
+ "declarations": [],
3149
+ "exports": []
3150
+ },
3151
+ {
3152
+ "kind": "javascript-module",
3153
+ "path": "src/main/budget-controller.ts",
3154
+ "declarations": [],
3155
+ "exports": []
3156
+ },
3157
+ {
3158
+ "kind": "javascript-module",
3159
+ "path": "src/main/composer-menu-controller.ts",
3160
+ "declarations": [],
3161
+ "exports": []
3162
+ },
3163
+ {
3164
+ "kind": "javascript-module",
3165
+ "path": "src/main/composer-resize-controller.ts",
3166
+ "declarations": [],
3167
+ "exports": []
3168
+ },
3169
+ {
3170
+ "kind": "javascript-module",
3171
+ "path": "src/main/context-gate-controller.ts",
3172
+ "declarations": [],
3173
+ "exports": []
3174
+ },
3175
+ {
3176
+ "kind": "javascript-module",
3177
+ "path": "src/main/cost-ledger-controller.ts",
3178
+ "declarations": [],
3179
+ "exports": []
3180
+ },
3181
+ {
3182
+ "kind": "javascript-module",
3183
+ "path": "src/main/index.ts",
3184
+ "declarations": [],
3185
+ "exports": [
3186
+ {
3187
+ "kind": "js",
3188
+ "name": "*",
3189
+ "declaration": {
3190
+ "name": "*",
3191
+ "package": "./main.template"
3192
+ }
3193
3193
  },
3194
3194
  {
3195
3195
  "kind": "js",
@@ -6975,168 +6975,21 @@
6975
6975
  },
6976
6976
  {
6977
6977
  "kind": "javascript-module",
6978
- "path": "src/styles/ai-colours.ts",
6978
+ "path": "src/state/ai-assistant-slice.ts",
6979
6979
  "declarations": [
6980
6980
  {
6981
- "kind": "variable",
6982
- "name": "AI_COLOUR_AMBER",
6983
- "type": {
6984
- "text": "string"
6981
+ "kind": "function",
6982
+ "name": "createDefaultSessionState",
6983
+ "return": {
6984
+ "type": {
6985
+ "text": "AiAssistantSessionState"
6986
+ }
6985
6987
  },
6986
- "default": "'#feb60a'",
6987
- "description": "Shared brand colours used across the AI animation effects\n(halo overlay border/glow and loading dot indicators).\nDefined once here so both stay in sync."
6988
+ "description": "Build a fresh default session state. A factory (not just a shared const) so\neach call returns independent collections — `resetSession` can hand back a\nclean slate without aliasing the initial state's arrays."
6988
6989
  },
6989
6990
  {
6990
6991
  "kind": "variable",
6991
- "name": "AI_COLOUR_PINK",
6992
- "type": {
6993
- "text": "string"
6994
- },
6995
- "default": "'#ff0062'"
6996
- },
6997
- {
6998
- "kind": "variable",
6999
- "name": "AI_COLOUR_CYAN",
7000
- "type": {
7001
- "text": "string"
7002
- },
7003
- "default": "'#00dbf9'"
7004
- },
7005
- {
7006
- "kind": "variable",
7007
- "name": "AI_COLOUR_VIOLET",
7008
- "type": {
7009
- "text": "string"
7010
- },
7011
- "default": "'#da00f7'"
7012
- },
7013
- {
7014
- "kind": "variable",
7015
- "name": "PIN_COLOURS",
7016
- "type": {
7017
- "text": "[\n AI_COLOUR_AMBER,\n AI_COLOUR_PINK,\n AI_COLOUR_CYAN,\n AI_COLOUR_VIOLET,\n]"
7018
- },
7019
- "default": "[\n AI_COLOUR_AMBER,\n AI_COLOUR_PINK,\n AI_COLOUR_CYAN,\n AI_COLOUR_VIOLET,\n]",
7020
- "description": "Pin tint palette, cycled by an agent's position in the assistant's `agents`\narray. Lives here beside the other brand colours because two components need\nit: the composer's agent button tints its pin with the ACTIVE agent's colour,\nand the picker menu tints every row's dot — and those two have to agree, so\nthey read the same list and index it the same way."
7021
- },
7022
- {
7023
- "kind": "function",
7024
- "name": "pinColourAt",
7025
- "return": {
7026
- "type": {
7027
- "text": "string | undefined"
7028
- }
7029
- },
7030
- "parameters": [
7031
- {
7032
- "name": "index",
7033
- "type": {
7034
- "text": "number"
7035
- }
7036
- }
7037
- ],
7038
- "description": "The tint for the agent at `index` in the full agents array, or `undefined`\nwhen the index is out of range (an unknown or stale agent name)."
7039
- }
7040
- ],
7041
- "exports": [
7042
- {
7043
- "kind": "js",
7044
- "name": "AI_COLOUR_AMBER",
7045
- "declaration": {
7046
- "name": "AI_COLOUR_AMBER",
7047
- "module": "src/styles/ai-colours.ts"
7048
- }
7049
- },
7050
- {
7051
- "kind": "js",
7052
- "name": "AI_COLOUR_PINK",
7053
- "declaration": {
7054
- "name": "AI_COLOUR_PINK",
7055
- "module": "src/styles/ai-colours.ts"
7056
- }
7057
- },
7058
- {
7059
- "kind": "js",
7060
- "name": "AI_COLOUR_CYAN",
7061
- "declaration": {
7062
- "name": "AI_COLOUR_CYAN",
7063
- "module": "src/styles/ai-colours.ts"
7064
- }
7065
- },
7066
- {
7067
- "kind": "js",
7068
- "name": "AI_COLOUR_VIOLET",
7069
- "declaration": {
7070
- "name": "AI_COLOUR_VIOLET",
7071
- "module": "src/styles/ai-colours.ts"
7072
- }
7073
- },
7074
- {
7075
- "kind": "js",
7076
- "name": "PIN_COLOURS",
7077
- "declaration": {
7078
- "name": "PIN_COLOURS",
7079
- "module": "src/styles/ai-colours.ts"
7080
- }
7081
- },
7082
- {
7083
- "kind": "js",
7084
- "name": "pinColourAt",
7085
- "declaration": {
7086
- "name": "pinColourAt",
7087
- "module": "src/styles/ai-colours.ts"
7088
- }
7089
- }
7090
- ]
7091
- },
7092
- {
7093
- "kind": "javascript-module",
7094
- "path": "src/styles/menu.ts",
7095
- "declarations": [],
7096
- "exports": []
7097
- },
7098
- {
7099
- "kind": "javascript-module",
7100
- "path": "src/styles/settings-section.ts",
7101
- "declarations": [
7102
- {
7103
- "kind": "variable",
7104
- "name": "assistantSettingsSectionTitleStyles",
7105
- "type": {
7106
- "text": "ElementStyles"
7107
- },
7108
- "default": "css`\n .ai-settings-section-title {\n display: flex;\n align-items: center;\n gap: calc(var(--design-unit) * 2px);\n font-size: 11px;\n font-weight: 600;\n letter-spacing: 0.08em;\n text-transform: uppercase;\n color: var(--neutral-foreground-hint);\n }\n`",
7109
- "description": "Heading style for a settings-modal section, published so a host can title its own section.\n\nThe assistant renders no heading for the `settings-app` slot — no text and no icon — because\nonly the host knows what that section is. The consequence is that a host supplying one has to\nreproduce the styling of the built-in headings beside it, and a copied rule drifts the moment\neither side changes. So the declarations live here, are applied by the assistant's own\nheadings, and are exported for the host to apply to its.\n\nCompose it into a component's styles and put `ai-settings-section-title` on the heading:\n\n```ts\nimport { assistantSettingsSectionTitleStyles } from '@genesislcap/ai-assistant';\n\nconst styles = css`\n ${assistantSettingsSectionTitleStyles}\n :host { display: block; }\n`;\n```\n\nCarries no margin on purpose: spacing belongs to the surrounding layout, which differs\nbetween the assistant's own sections and a slotted one, and is the single declaration hosts\nhad to diverge on when they copied this rule."
7110
- }
7111
- ],
7112
- "exports": [
7113
- {
7114
- "kind": "js",
7115
- "name": "assistantSettingsSectionTitleStyles",
7116
- "declaration": {
7117
- "name": "assistantSettingsSectionTitleStyles",
7118
- "module": "src/styles/settings-section.ts"
7119
- }
7120
- }
7121
- ]
7122
- },
7123
- {
7124
- "kind": "javascript-module",
7125
- "path": "src/state/ai-assistant-slice.ts",
7126
- "declarations": [
7127
- {
7128
- "kind": "function",
7129
- "name": "createDefaultSessionState",
7130
- "return": {
7131
- "type": {
7132
- "text": "AiAssistantSessionState"
7133
- }
7134
- },
7135
- "description": "Build a fresh default session state. A factory (not just a shared const) so\neach call returns independent collections — `resetSession` can hand back a\nclean slate without aliasing the initial state's arrays."
7136
- },
7137
- {
7138
- "kind": "variable",
7139
- "name": "defaultSessionState",
6992
+ "name": "defaultSessionState",
7140
6993
  "type": {
7141
6994
  "text": "AiAssistantSessionState"
7142
6995
  }
@@ -7663,6 +7516,153 @@
7663
7516
  }
7664
7517
  ]
7665
7518
  },
7519
+ {
7520
+ "kind": "javascript-module",
7521
+ "path": "src/styles/ai-colours.ts",
7522
+ "declarations": [
7523
+ {
7524
+ "kind": "variable",
7525
+ "name": "AI_COLOUR_AMBER",
7526
+ "type": {
7527
+ "text": "string"
7528
+ },
7529
+ "default": "'#feb60a'",
7530
+ "description": "Shared brand colours used across the AI animation effects\n(halo overlay border/glow and loading dot indicators).\nDefined once here so both stay in sync."
7531
+ },
7532
+ {
7533
+ "kind": "variable",
7534
+ "name": "AI_COLOUR_PINK",
7535
+ "type": {
7536
+ "text": "string"
7537
+ },
7538
+ "default": "'#ff0062'"
7539
+ },
7540
+ {
7541
+ "kind": "variable",
7542
+ "name": "AI_COLOUR_CYAN",
7543
+ "type": {
7544
+ "text": "string"
7545
+ },
7546
+ "default": "'#00dbf9'"
7547
+ },
7548
+ {
7549
+ "kind": "variable",
7550
+ "name": "AI_COLOUR_VIOLET",
7551
+ "type": {
7552
+ "text": "string"
7553
+ },
7554
+ "default": "'#da00f7'"
7555
+ },
7556
+ {
7557
+ "kind": "variable",
7558
+ "name": "PIN_COLOURS",
7559
+ "type": {
7560
+ "text": "[\n AI_COLOUR_AMBER,\n AI_COLOUR_PINK,\n AI_COLOUR_CYAN,\n AI_COLOUR_VIOLET,\n]"
7561
+ },
7562
+ "default": "[\n AI_COLOUR_AMBER,\n AI_COLOUR_PINK,\n AI_COLOUR_CYAN,\n AI_COLOUR_VIOLET,\n]",
7563
+ "description": "Pin tint palette, cycled by an agent's position in the assistant's `agents`\narray. Lives here beside the other brand colours because two components need\nit: the composer's agent button tints its pin with the ACTIVE agent's colour,\nand the picker menu tints every row's dot — and those two have to agree, so\nthey read the same list and index it the same way."
7564
+ },
7565
+ {
7566
+ "kind": "function",
7567
+ "name": "pinColourAt",
7568
+ "return": {
7569
+ "type": {
7570
+ "text": "string | undefined"
7571
+ }
7572
+ },
7573
+ "parameters": [
7574
+ {
7575
+ "name": "index",
7576
+ "type": {
7577
+ "text": "number"
7578
+ }
7579
+ }
7580
+ ],
7581
+ "description": "The tint for the agent at `index` in the full agents array, or `undefined`\nwhen the index is out of range (an unknown or stale agent name)."
7582
+ }
7583
+ ],
7584
+ "exports": [
7585
+ {
7586
+ "kind": "js",
7587
+ "name": "AI_COLOUR_AMBER",
7588
+ "declaration": {
7589
+ "name": "AI_COLOUR_AMBER",
7590
+ "module": "src/styles/ai-colours.ts"
7591
+ }
7592
+ },
7593
+ {
7594
+ "kind": "js",
7595
+ "name": "AI_COLOUR_PINK",
7596
+ "declaration": {
7597
+ "name": "AI_COLOUR_PINK",
7598
+ "module": "src/styles/ai-colours.ts"
7599
+ }
7600
+ },
7601
+ {
7602
+ "kind": "js",
7603
+ "name": "AI_COLOUR_CYAN",
7604
+ "declaration": {
7605
+ "name": "AI_COLOUR_CYAN",
7606
+ "module": "src/styles/ai-colours.ts"
7607
+ }
7608
+ },
7609
+ {
7610
+ "kind": "js",
7611
+ "name": "AI_COLOUR_VIOLET",
7612
+ "declaration": {
7613
+ "name": "AI_COLOUR_VIOLET",
7614
+ "module": "src/styles/ai-colours.ts"
7615
+ }
7616
+ },
7617
+ {
7618
+ "kind": "js",
7619
+ "name": "PIN_COLOURS",
7620
+ "declaration": {
7621
+ "name": "PIN_COLOURS",
7622
+ "module": "src/styles/ai-colours.ts"
7623
+ }
7624
+ },
7625
+ {
7626
+ "kind": "js",
7627
+ "name": "pinColourAt",
7628
+ "declaration": {
7629
+ "name": "pinColourAt",
7630
+ "module": "src/styles/ai-colours.ts"
7631
+ }
7632
+ }
7633
+ ]
7634
+ },
7635
+ {
7636
+ "kind": "javascript-module",
7637
+ "path": "src/styles/menu.ts",
7638
+ "declarations": [],
7639
+ "exports": []
7640
+ },
7641
+ {
7642
+ "kind": "javascript-module",
7643
+ "path": "src/styles/settings-section.ts",
7644
+ "declarations": [
7645
+ {
7646
+ "kind": "variable",
7647
+ "name": "assistantSettingsSectionTitleStyles",
7648
+ "type": {
7649
+ "text": "ElementStyles"
7650
+ },
7651
+ "default": "css`\n .ai-settings-section-title {\n display: flex;\n align-items: center;\n gap: calc(var(--design-unit) * 2px);\n font-size: 11px;\n font-weight: 600;\n letter-spacing: 0.08em;\n text-transform: uppercase;\n color: var(--neutral-foreground-hint);\n }\n`",
7652
+ "description": "Heading style for a settings-modal section, published so a host can title its own section.\n\nThe assistant renders no heading for the `settings-app` slot — no text and no icon — because\nonly the host knows what that section is. The consequence is that a host supplying one has to\nreproduce the styling of the built-in headings beside it, and a copied rule drifts the moment\neither side changes. So the declarations live here, are applied by the assistant's own\nheadings, and are exported for the host to apply to its.\n\nCompose it into a component's styles and put `ai-settings-section-title` on the heading:\n\n```ts\nimport { assistantSettingsSectionTitleStyles } from '@genesislcap/ai-assistant';\n\nconst styles = css`\n ${assistantSettingsSectionTitleStyles}\n :host { display: block; }\n`;\n```\n\nCarries no margin on purpose: spacing belongs to the surrounding layout, which differs\nbetween the assistant's own sections and a slotted one, and is the single declaration hosts\nhad to diverge on when they copied this rule."
7653
+ }
7654
+ ],
7655
+ "exports": [
7656
+ {
7657
+ "kind": "js",
7658
+ "name": "assistantSettingsSectionTitleStyles",
7659
+ "declaration": {
7660
+ "name": "assistantSettingsSectionTitleStyles",
7661
+ "module": "src/styles/settings-section.ts"
7662
+ }
7663
+ }
7664
+ ]
7665
+ },
7666
7666
  {
7667
7667
  "kind": "javascript-module",
7668
7668
  "path": "src/suggestions/chat-suggestions.ts",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/ai-assistant",
3
3
  "description": "Genesis AI Assistant micro-frontend",
4
- "version": "15.51.0",
4
+ "version": "15.51.1",
5
5
  "license": "SEE LICENSE IN license.txt",
6
6
  "main": "dist/esm/index.js",
7
7
  "types": "dist/ai-assistant.d.ts",
@@ -92,31 +92,31 @@
92
92
  }
93
93
  },
94
94
  "devDependencies": {
95
- "@genesislcap/foundation-comms": "15.51.0",
96
- "@genesislcap/foundation-testing": "15.51.0",
97
- "@genesislcap/genx": "15.51.0",
98
- "@genesislcap/ts-builder": "15.51.0",
99
- "@genesislcap/uvu-playwright-builder": "15.51.0",
100
- "@genesislcap/vite-builder": "15.51.0",
101
- "@genesislcap/webpack-builder": "15.51.0",
95
+ "@genesislcap/foundation-comms": "15.51.1",
96
+ "@genesislcap/foundation-testing": "15.51.1",
97
+ "@genesislcap/genx": "15.51.1",
98
+ "@genesislcap/ts-builder": "15.51.1",
99
+ "@genesislcap/uvu-playwright-builder": "15.51.1",
100
+ "@genesislcap/vite-builder": "15.51.1",
101
+ "@genesislcap/webpack-builder": "15.51.1",
102
102
  "@types/dompurify": "^3.0.5",
103
103
  "@types/marked": "^5.0.2",
104
104
  "esbuild": "0.25.12"
105
105
  },
106
106
  "dependencies": {
107
- "@genesislcap/foundation-ai": "15.51.0",
108
- "@genesislcap/foundation-logger": "15.51.0",
109
- "@genesislcap/foundation-notifications": "15.51.0",
110
- "@genesislcap/foundation-redux": "15.51.0",
111
- "@genesislcap/foundation-ui": "15.51.0",
112
- "@genesislcap/foundation-utils": "15.51.0",
113
- "@genesislcap/rapid-design-system": "15.51.0",
114
- "@genesislcap/web-core": "15.51.0",
107
+ "@genesislcap/foundation-ai": "15.51.1",
108
+ "@genesislcap/foundation-logger": "15.51.1",
109
+ "@genesislcap/foundation-notifications": "15.51.1",
110
+ "@genesislcap/foundation-redux": "15.51.1",
111
+ "@genesislcap/foundation-ui": "15.51.1",
112
+ "@genesislcap/foundation-utils": "15.51.1",
113
+ "@genesislcap/rapid-design-system": "15.51.1",
114
+ "@genesislcap/web-core": "15.51.1",
115
115
  "dompurify": "^3.3.1",
116
116
  "marked": "^17.0.3"
117
117
  },
118
118
  "peerDependencies": {
119
- "@genesislcap/foundation-comms": "^15.51.0"
119
+ "@genesislcap/foundation-comms": "^15.51.1"
120
120
  },
121
121
  "peerDependenciesMeta": {
122
122
  "@genesislcap/foundation-comms": {