@genesislcap/ai-assistant 15.24.2 → 15.25.0-FUI-2611.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.
- package/dist/ai-assistant.api.json +1065 -33
- package/dist/ai-assistant.d.ts +288 -102
- package/dist/chat-driver.cjs +630 -378
- package/dist/chat-driver.cjs.map +4 -4
- package/dist/chat-driver.mjs +630 -378
- package/dist/chat-driver.mjs.map +4 -4
- package/dist/custom-elements.json +1198 -388
- package/dist/dts/components/agent-session/agent-session.d.ts +134 -0
- package/dist/dts/components/agent-session/agent-session.d.ts.map +1 -0
- package/dist/dts/components/agent-session/index.d.ts +2 -0
- package/dist/dts/components/agent-session/index.d.ts.map +1 -0
- package/dist/dts/components/ai-driver/ai-driver.d.ts +31 -4
- package/dist/dts/components/ai-driver/ai-driver.d.ts.map +1 -1
- package/dist/dts/components/chat-driver/chat-driver.constants.d.ts +52 -0
- package/dist/dts/components/chat-driver/chat-driver.constants.d.ts.map +1 -0
- package/dist/dts/components/chat-driver/chat-driver.d.ts +100 -82
- package/dist/dts/components/chat-driver/chat-driver.d.ts.map +1 -1
- package/dist/dts/components/chat-driver/fold-controller.d.ts +82 -0
- package/dist/dts/components/chat-driver/fold-controller.d.ts.map +1 -0
- package/dist/dts/components/chat-driver/turn-failures.d.ts +20 -1
- package/dist/dts/components/chat-driver/turn-failures.d.ts.map +1 -1
- package/dist/dts/components/orchestrating-driver/orchestrating-driver.d.ts +14 -24
- package/dist/dts/components/orchestrating-driver/orchestrating-driver.d.ts.map +1 -1
- package/dist/dts/index.d.ts +1 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/main/main.d.ts +6 -16
- package/dist/dts/main/main.d.ts.map +1 -1
- package/dist/dts/suggestions/generate-suggestions.d.ts +35 -0
- package/dist/dts/suggestions/generate-suggestions.d.ts.map +1 -0
- package/dist/dts/utils/agents-key.d.ts +10 -0
- package/dist/dts/utils/agents-key.d.ts.map +1 -0
- package/dist/dts/utils/resolve-turn-input.d.ts +9 -0
- package/dist/dts/utils/resolve-turn-input.d.ts.map +1 -0
- package/dist/esm/components/agent-session/agent-session.js +208 -0
- package/dist/esm/components/agent-session/index.js +1 -0
- package/dist/esm/components/chat-driver/chat-driver.constants.js +72 -0
- package/dist/esm/components/chat-driver/chat-driver.js +190 -395
- package/dist/esm/components/chat-driver/fold-controller.js +184 -0
- package/dist/esm/components/chat-driver/turn-failures.js +14 -0
- package/dist/esm/components/orchestrating-driver/orchestrating-driver.js +48 -131
- package/dist/esm/index.js +1 -0
- package/dist/esm/main/main.js +11 -38
- package/dist/esm/suggestions/generate-suggestions.js +123 -0
- package/dist/esm/utils/agents-key.js +24 -0
- package/dist/esm/utils/resolve-turn-input.js +16 -0
- package/docs/migration-GENC-1580.md +44 -36
- package/package.json +16 -16
|
@@ -1793,6 +1793,673 @@
|
|
|
1793
1793
|
},
|
|
1794
1794
|
"implementsTokenRanges": []
|
|
1795
1795
|
},
|
|
1796
|
+
{
|
|
1797
|
+
"kind": "Class",
|
|
1798
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentSession:class",
|
|
1799
|
+
"docComment": "/**\n * The stateful-agent contract: which agent is active, whether a flow or a user pin holds routing, and the `onActivate` / `onDeactivate` lifecycle around a swap. Either driver can own one.\n *\n * Knows nothing about routing, tool surfaces or transcripts — whether an agent is terminal, the continuation tool, the handoff marker in history all stay with the orchestrator, which is the only thing with agents to route between.\n *\n * @beta\n */\n",
|
|
1800
|
+
"excerptTokens": [
|
|
1801
|
+
{
|
|
1802
|
+
"kind": "Content",
|
|
1803
|
+
"text": "export declare class AgentSession "
|
|
1804
|
+
}
|
|
1805
|
+
],
|
|
1806
|
+
"fileUrlPath": "src/components/agent-session/agent-session.ts",
|
|
1807
|
+
"releaseTag": "Beta",
|
|
1808
|
+
"isAbstract": false,
|
|
1809
|
+
"name": "AgentSession",
|
|
1810
|
+
"preserveMemberOrder": false,
|
|
1811
|
+
"members": [
|
|
1812
|
+
{
|
|
1813
|
+
"kind": "Constructor",
|
|
1814
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentSession:constructor(1)",
|
|
1815
|
+
"docComment": "/**\n * Constructs a new instance of the `AgentSession` class\n */\n",
|
|
1816
|
+
"excerptTokens": [
|
|
1817
|
+
{
|
|
1818
|
+
"kind": "Content",
|
|
1819
|
+
"text": "constructor(deps: "
|
|
1820
|
+
},
|
|
1821
|
+
{
|
|
1822
|
+
"kind": "Reference",
|
|
1823
|
+
"text": "AgentSessionDeps",
|
|
1824
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentSessionDeps:interface"
|
|
1825
|
+
},
|
|
1826
|
+
{
|
|
1827
|
+
"kind": "Content",
|
|
1828
|
+
"text": ");"
|
|
1829
|
+
}
|
|
1830
|
+
],
|
|
1831
|
+
"releaseTag": "Beta",
|
|
1832
|
+
"isProtected": false,
|
|
1833
|
+
"overloadIndex": 1,
|
|
1834
|
+
"parameters": [
|
|
1835
|
+
{
|
|
1836
|
+
"parameterName": "deps",
|
|
1837
|
+
"parameterTypeTokenRange": {
|
|
1838
|
+
"startIndex": 1,
|
|
1839
|
+
"endIndex": 2
|
|
1840
|
+
},
|
|
1841
|
+
"isOptional": false
|
|
1842
|
+
}
|
|
1843
|
+
]
|
|
1844
|
+
},
|
|
1845
|
+
{
|
|
1846
|
+
"kind": "Method",
|
|
1847
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentSession#activate:member(1)",
|
|
1848
|
+
"docComment": "/**\n * Make `agent` active, firing the lifecycle hooks around the swap: outgoing `onDeactivate` first, then incoming `onActivate`. Both are awaited so heavy activation work (a machine restore, say) completes before the agent's first turn runs, and a throw from either is logged rather than propagated — an agent whose hook fails still activates.\n *\n * Re-activating the same agent by name is not a switch: no hooks fire, no lock moves, and no handoff is recorded. That guard matters because a per-turn re-resolve calls through here.\n */\n",
|
|
1849
|
+
"excerptTokens": [
|
|
1850
|
+
{
|
|
1851
|
+
"kind": "Content",
|
|
1852
|
+
"text": "activate(agent: "
|
|
1853
|
+
},
|
|
1854
|
+
{
|
|
1855
|
+
"kind": "Reference",
|
|
1856
|
+
"text": "AgentConfig",
|
|
1857
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentConfig:type"
|
|
1858
|
+
},
|
|
1859
|
+
{
|
|
1860
|
+
"kind": "Content",
|
|
1861
|
+
"text": "): "
|
|
1862
|
+
},
|
|
1863
|
+
{
|
|
1864
|
+
"kind": "Reference",
|
|
1865
|
+
"text": "Promise",
|
|
1866
|
+
"canonicalReference": "!Promise:interface"
|
|
1867
|
+
},
|
|
1868
|
+
{
|
|
1869
|
+
"kind": "Content",
|
|
1870
|
+
"text": "<"
|
|
1871
|
+
},
|
|
1872
|
+
{
|
|
1873
|
+
"kind": "Reference",
|
|
1874
|
+
"text": "AgentTransition",
|
|
1875
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentTransition:interface"
|
|
1876
|
+
},
|
|
1877
|
+
{
|
|
1878
|
+
"kind": "Content",
|
|
1879
|
+
"text": ">"
|
|
1880
|
+
},
|
|
1881
|
+
{
|
|
1882
|
+
"kind": "Content",
|
|
1883
|
+
"text": ";"
|
|
1884
|
+
}
|
|
1885
|
+
],
|
|
1886
|
+
"isStatic": false,
|
|
1887
|
+
"returnTypeTokenRange": {
|
|
1888
|
+
"startIndex": 3,
|
|
1889
|
+
"endIndex": 7
|
|
1890
|
+
},
|
|
1891
|
+
"releaseTag": "Beta",
|
|
1892
|
+
"isProtected": false,
|
|
1893
|
+
"overloadIndex": 1,
|
|
1894
|
+
"parameters": [
|
|
1895
|
+
{
|
|
1896
|
+
"parameterName": "agent",
|
|
1897
|
+
"parameterTypeTokenRange": {
|
|
1898
|
+
"startIndex": 1,
|
|
1899
|
+
"endIndex": 2
|
|
1900
|
+
},
|
|
1901
|
+
"isOptional": false
|
|
1902
|
+
}
|
|
1903
|
+
],
|
|
1904
|
+
"isOptional": false,
|
|
1905
|
+
"isAbstract": false,
|
|
1906
|
+
"name": "activate"
|
|
1907
|
+
},
|
|
1908
|
+
{
|
|
1909
|
+
"kind": "Method",
|
|
1910
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentSession#dispose:member(1)",
|
|
1911
|
+
"docComment": "/**\n * Fire `onDeactivate` on the active agent and abort pending lifecycle work, for session teardown, so machines release resources cleanly. The session is not reusable afterwards: the abort signal stays aborted, so a later `activate` would hand its hook a dead signal.\n *\n * `onDeactivate` runs **before** the abort, deliberately: teardown that needs to flush state would otherwise be handed an already-aborted signal and have to skip its own work. The cost is that an `onActivate` still in flight keeps running until `onDeactivate` finishes — both hold the same signal. Acceptable because the two are sequenced by `activate`, so overlap only happens if a hook resolves before the work it started; a hook that must stop immediately should own its own cancellation.\n */\n",
|
|
1912
|
+
"excerptTokens": [
|
|
1913
|
+
{
|
|
1914
|
+
"kind": "Content",
|
|
1915
|
+
"text": "dispose(): "
|
|
1916
|
+
},
|
|
1917
|
+
{
|
|
1918
|
+
"kind": "Reference",
|
|
1919
|
+
"text": "Promise",
|
|
1920
|
+
"canonicalReference": "!Promise:interface"
|
|
1921
|
+
},
|
|
1922
|
+
{
|
|
1923
|
+
"kind": "Content",
|
|
1924
|
+
"text": "<void>"
|
|
1925
|
+
},
|
|
1926
|
+
{
|
|
1927
|
+
"kind": "Content",
|
|
1928
|
+
"text": ";"
|
|
1929
|
+
}
|
|
1930
|
+
],
|
|
1931
|
+
"isStatic": false,
|
|
1932
|
+
"returnTypeTokenRange": {
|
|
1933
|
+
"startIndex": 1,
|
|
1934
|
+
"endIndex": 3
|
|
1935
|
+
},
|
|
1936
|
+
"releaseTag": "Beta",
|
|
1937
|
+
"isProtected": false,
|
|
1938
|
+
"overloadIndex": 1,
|
|
1939
|
+
"parameters": [],
|
|
1940
|
+
"isOptional": false,
|
|
1941
|
+
"isAbstract": false,
|
|
1942
|
+
"name": "dispose"
|
|
1943
|
+
},
|
|
1944
|
+
{
|
|
1945
|
+
"kind": "Method",
|
|
1946
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentSession#getActive:member(1)",
|
|
1947
|
+
"docComment": "/**\n * The active agent, or `undefined` before the first activation and after a release.\n */\n",
|
|
1948
|
+
"excerptTokens": [
|
|
1949
|
+
{
|
|
1950
|
+
"kind": "Content",
|
|
1951
|
+
"text": "getActive(): "
|
|
1952
|
+
},
|
|
1953
|
+
{
|
|
1954
|
+
"kind": "Reference",
|
|
1955
|
+
"text": "AgentConfig",
|
|
1956
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentConfig:type"
|
|
1957
|
+
},
|
|
1958
|
+
{
|
|
1959
|
+
"kind": "Content",
|
|
1960
|
+
"text": " | undefined"
|
|
1961
|
+
},
|
|
1962
|
+
{
|
|
1963
|
+
"kind": "Content",
|
|
1964
|
+
"text": ";"
|
|
1965
|
+
}
|
|
1966
|
+
],
|
|
1967
|
+
"isStatic": false,
|
|
1968
|
+
"returnTypeTokenRange": {
|
|
1969
|
+
"startIndex": 1,
|
|
1970
|
+
"endIndex": 3
|
|
1971
|
+
},
|
|
1972
|
+
"releaseTag": "Beta",
|
|
1973
|
+
"isProtected": false,
|
|
1974
|
+
"overloadIndex": 1,
|
|
1975
|
+
"parameters": [],
|
|
1976
|
+
"isOptional": false,
|
|
1977
|
+
"isAbstract": false,
|
|
1978
|
+
"name": "getActive"
|
|
1979
|
+
},
|
|
1980
|
+
{
|
|
1981
|
+
"kind": "Method",
|
|
1982
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentSession#getFlowOwner:member(1)",
|
|
1983
|
+
"docComment": "/**\n * The transient flow lock, or `null` when no flow holds routing.\n */\n",
|
|
1984
|
+
"excerptTokens": [
|
|
1985
|
+
{
|
|
1986
|
+
"kind": "Content",
|
|
1987
|
+
"text": "getFlowOwner(): "
|
|
1988
|
+
},
|
|
1989
|
+
{
|
|
1990
|
+
"kind": "Content",
|
|
1991
|
+
"text": "string | null"
|
|
1992
|
+
},
|
|
1993
|
+
{
|
|
1994
|
+
"kind": "Content",
|
|
1995
|
+
"text": ";"
|
|
1996
|
+
}
|
|
1997
|
+
],
|
|
1998
|
+
"isStatic": false,
|
|
1999
|
+
"returnTypeTokenRange": {
|
|
2000
|
+
"startIndex": 1,
|
|
2001
|
+
"endIndex": 2
|
|
2002
|
+
},
|
|
2003
|
+
"releaseTag": "Beta",
|
|
2004
|
+
"isProtected": false,
|
|
2005
|
+
"overloadIndex": 1,
|
|
2006
|
+
"parameters": [],
|
|
2007
|
+
"isOptional": false,
|
|
2008
|
+
"isAbstract": false,
|
|
2009
|
+
"name": "getFlowOwner"
|
|
2010
|
+
},
|
|
2011
|
+
{
|
|
2012
|
+
"kind": "Method",
|
|
2013
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentSession#getLockedName:member(1)",
|
|
2014
|
+
"docComment": "/**\n * The name routing is locked to, flow lock first. A flow in progress outranks the user's sticky pick for the duration of the flow; neither being set means automatic routing.\n */\n",
|
|
2015
|
+
"excerptTokens": [
|
|
2016
|
+
{
|
|
2017
|
+
"kind": "Content",
|
|
2018
|
+
"text": "getLockedName(): "
|
|
2019
|
+
},
|
|
2020
|
+
{
|
|
2021
|
+
"kind": "Content",
|
|
2022
|
+
"text": "string | null"
|
|
2023
|
+
},
|
|
2024
|
+
{
|
|
2025
|
+
"kind": "Content",
|
|
2026
|
+
"text": ";"
|
|
2027
|
+
}
|
|
2028
|
+
],
|
|
2029
|
+
"isStatic": false,
|
|
2030
|
+
"returnTypeTokenRange": {
|
|
2031
|
+
"startIndex": 1,
|
|
2032
|
+
"endIndex": 2
|
|
2033
|
+
},
|
|
2034
|
+
"releaseTag": "Beta",
|
|
2035
|
+
"isProtected": false,
|
|
2036
|
+
"overloadIndex": 1,
|
|
2037
|
+
"parameters": [],
|
|
2038
|
+
"isOptional": false,
|
|
2039
|
+
"isAbstract": false,
|
|
2040
|
+
"name": "getLockedName"
|
|
2041
|
+
},
|
|
2042
|
+
{
|
|
2043
|
+
"kind": "Method",
|
|
2044
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentSession#getPinned:member(1)",
|
|
2045
|
+
"docComment": "/**\n * The sticky user pin, or `null` for automatic routing.\n */\n",
|
|
2046
|
+
"excerptTokens": [
|
|
2047
|
+
{
|
|
2048
|
+
"kind": "Content",
|
|
2049
|
+
"text": "getPinned(): "
|
|
2050
|
+
},
|
|
2051
|
+
{
|
|
2052
|
+
"kind": "Content",
|
|
2053
|
+
"text": "string | null"
|
|
2054
|
+
},
|
|
2055
|
+
{
|
|
2056
|
+
"kind": "Content",
|
|
2057
|
+
"text": ";"
|
|
2058
|
+
}
|
|
2059
|
+
],
|
|
2060
|
+
"isStatic": false,
|
|
2061
|
+
"returnTypeTokenRange": {
|
|
2062
|
+
"startIndex": 1,
|
|
2063
|
+
"endIndex": 2
|
|
2064
|
+
},
|
|
2065
|
+
"releaseTag": "Beta",
|
|
2066
|
+
"isProtected": false,
|
|
2067
|
+
"overloadIndex": 1,
|
|
2068
|
+
"parameters": [],
|
|
2069
|
+
"isOptional": false,
|
|
2070
|
+
"isAbstract": false,
|
|
2071
|
+
"name": "getPinned"
|
|
2072
|
+
},
|
|
2073
|
+
{
|
|
2074
|
+
"kind": "Method",
|
|
2075
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentSession#hasRestoredState:member(1)",
|
|
2076
|
+
"docComment": "/**\n * Whether a restored snapshot is waiting for this agent's next activation.\n */\n",
|
|
2077
|
+
"excerptTokens": [
|
|
2078
|
+
{
|
|
2079
|
+
"kind": "Content",
|
|
2080
|
+
"text": "hasRestoredState(agentName: "
|
|
2081
|
+
},
|
|
2082
|
+
{
|
|
2083
|
+
"kind": "Content",
|
|
2084
|
+
"text": "string"
|
|
2085
|
+
},
|
|
2086
|
+
{
|
|
2087
|
+
"kind": "Content",
|
|
2088
|
+
"text": "): "
|
|
2089
|
+
},
|
|
2090
|
+
{
|
|
2091
|
+
"kind": "Content",
|
|
2092
|
+
"text": "boolean"
|
|
2093
|
+
},
|
|
2094
|
+
{
|
|
2095
|
+
"kind": "Content",
|
|
2096
|
+
"text": ";"
|
|
2097
|
+
}
|
|
2098
|
+
],
|
|
2099
|
+
"isStatic": false,
|
|
2100
|
+
"returnTypeTokenRange": {
|
|
2101
|
+
"startIndex": 3,
|
|
2102
|
+
"endIndex": 4
|
|
2103
|
+
},
|
|
2104
|
+
"releaseTag": "Beta",
|
|
2105
|
+
"isProtected": false,
|
|
2106
|
+
"overloadIndex": 1,
|
|
2107
|
+
"parameters": [
|
|
2108
|
+
{
|
|
2109
|
+
"parameterName": "agentName",
|
|
2110
|
+
"parameterTypeTokenRange": {
|
|
2111
|
+
"startIndex": 1,
|
|
2112
|
+
"endIndex": 2
|
|
2113
|
+
},
|
|
2114
|
+
"isOptional": false
|
|
2115
|
+
}
|
|
2116
|
+
],
|
|
2117
|
+
"isOptional": false,
|
|
2118
|
+
"isAbstract": false,
|
|
2119
|
+
"name": "hasRestoredState"
|
|
2120
|
+
},
|
|
2121
|
+
{
|
|
2122
|
+
"kind": "Method",
|
|
2123
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentSession#primeRestoredStates:member(1)",
|
|
2124
|
+
"docComment": "/**\n * Prime per-agent restored state for a rehydrated session. Replaces any pending entries.\n */\n",
|
|
2125
|
+
"excerptTokens": [
|
|
2126
|
+
{
|
|
2127
|
+
"kind": "Content",
|
|
2128
|
+
"text": "primeRestoredStates(snapshots: "
|
|
2129
|
+
},
|
|
2130
|
+
{
|
|
2131
|
+
"kind": "Reference",
|
|
2132
|
+
"text": "Record",
|
|
2133
|
+
"canonicalReference": "!Record:type"
|
|
2134
|
+
},
|
|
2135
|
+
{
|
|
2136
|
+
"kind": "Content",
|
|
2137
|
+
"text": "<string, unknown>"
|
|
2138
|
+
},
|
|
2139
|
+
{
|
|
2140
|
+
"kind": "Content",
|
|
2141
|
+
"text": "): "
|
|
2142
|
+
},
|
|
2143
|
+
{
|
|
2144
|
+
"kind": "Content",
|
|
2145
|
+
"text": "void"
|
|
2146
|
+
},
|
|
2147
|
+
{
|
|
2148
|
+
"kind": "Content",
|
|
2149
|
+
"text": ";"
|
|
2150
|
+
}
|
|
2151
|
+
],
|
|
2152
|
+
"isStatic": false,
|
|
2153
|
+
"returnTypeTokenRange": {
|
|
2154
|
+
"startIndex": 4,
|
|
2155
|
+
"endIndex": 5
|
|
2156
|
+
},
|
|
2157
|
+
"releaseTag": "Beta",
|
|
2158
|
+
"isProtected": false,
|
|
2159
|
+
"overloadIndex": 1,
|
|
2160
|
+
"parameters": [
|
|
2161
|
+
{
|
|
2162
|
+
"parameterName": "snapshots",
|
|
2163
|
+
"parameterTypeTokenRange": {
|
|
2164
|
+
"startIndex": 1,
|
|
2165
|
+
"endIndex": 3
|
|
2166
|
+
},
|
|
2167
|
+
"isOptional": false
|
|
2168
|
+
}
|
|
2169
|
+
],
|
|
2170
|
+
"isOptional": false,
|
|
2171
|
+
"isAbstract": false,
|
|
2172
|
+
"name": "primeRestoredStates"
|
|
2173
|
+
},
|
|
2174
|
+
{
|
|
2175
|
+
"kind": "Method",
|
|
2176
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentSession#release:member(1)",
|
|
2177
|
+
"docComment": "/**\n * Release the active agent: fire `onDeactivate` and drop the flow lock.\n *\n * The user pin is intentionally **not** cleared — someone who explicitly picked this agent should stay on it after the flow ends, so the next message starts a fresh flow on the same agent rather than routing through the classifier.\n *\n * Returns `undefined` when there was no active agent, so a caller can skip its events.\n */\n",
|
|
2178
|
+
"excerptTokens": [
|
|
2179
|
+
{
|
|
2180
|
+
"kind": "Content",
|
|
2181
|
+
"text": "release(): "
|
|
2182
|
+
},
|
|
2183
|
+
{
|
|
2184
|
+
"kind": "Reference",
|
|
2185
|
+
"text": "Promise",
|
|
2186
|
+
"canonicalReference": "!Promise:interface"
|
|
2187
|
+
},
|
|
2188
|
+
{
|
|
2189
|
+
"kind": "Content",
|
|
2190
|
+
"text": "<"
|
|
2191
|
+
},
|
|
2192
|
+
{
|
|
2193
|
+
"kind": "Reference",
|
|
2194
|
+
"text": "AgentTransition",
|
|
2195
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentTransition:interface"
|
|
2196
|
+
},
|
|
2197
|
+
{
|
|
2198
|
+
"kind": "Content",
|
|
2199
|
+
"text": " | undefined>"
|
|
2200
|
+
},
|
|
2201
|
+
{
|
|
2202
|
+
"kind": "Content",
|
|
2203
|
+
"text": ";"
|
|
2204
|
+
}
|
|
2205
|
+
],
|
|
2206
|
+
"isStatic": false,
|
|
2207
|
+
"returnTypeTokenRange": {
|
|
2208
|
+
"startIndex": 1,
|
|
2209
|
+
"endIndex": 5
|
|
2210
|
+
},
|
|
2211
|
+
"releaseTag": "Beta",
|
|
2212
|
+
"isProtected": false,
|
|
2213
|
+
"overloadIndex": 1,
|
|
2214
|
+
"parameters": [],
|
|
2215
|
+
"isOptional": false,
|
|
2216
|
+
"isAbstract": false,
|
|
2217
|
+
"name": "release"
|
|
2218
|
+
},
|
|
2219
|
+
{
|
|
2220
|
+
"kind": "Method",
|
|
2221
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentSession#setFlowOwner:member(1)",
|
|
2222
|
+
"docComment": "/**\n * Set the flow-owner lock directly — used to restore state on driver reconstruction (agents-array changes, pop-in/pop-out), not to steer routing. Writes without firing hooks or reporting a transition, because the flow it names is already running.\n */\n",
|
|
2223
|
+
"excerptTokens": [
|
|
2224
|
+
{
|
|
2225
|
+
"kind": "Content",
|
|
2226
|
+
"text": "setFlowOwner(name: "
|
|
2227
|
+
},
|
|
2228
|
+
{
|
|
2229
|
+
"kind": "Content",
|
|
2230
|
+
"text": "string | null"
|
|
2231
|
+
},
|
|
2232
|
+
{
|
|
2233
|
+
"kind": "Content",
|
|
2234
|
+
"text": "): "
|
|
2235
|
+
},
|
|
2236
|
+
{
|
|
2237
|
+
"kind": "Content",
|
|
2238
|
+
"text": "void"
|
|
2239
|
+
},
|
|
2240
|
+
{
|
|
2241
|
+
"kind": "Content",
|
|
2242
|
+
"text": ";"
|
|
2243
|
+
}
|
|
2244
|
+
],
|
|
2245
|
+
"isStatic": false,
|
|
2246
|
+
"returnTypeTokenRange": {
|
|
2247
|
+
"startIndex": 3,
|
|
2248
|
+
"endIndex": 4
|
|
2249
|
+
},
|
|
2250
|
+
"releaseTag": "Beta",
|
|
2251
|
+
"isProtected": false,
|
|
2252
|
+
"overloadIndex": 1,
|
|
2253
|
+
"parameters": [
|
|
2254
|
+
{
|
|
2255
|
+
"parameterName": "name",
|
|
2256
|
+
"parameterTypeTokenRange": {
|
|
2257
|
+
"startIndex": 1,
|
|
2258
|
+
"endIndex": 2
|
|
2259
|
+
},
|
|
2260
|
+
"isOptional": false
|
|
2261
|
+
}
|
|
2262
|
+
],
|
|
2263
|
+
"isOptional": false,
|
|
2264
|
+
"isAbstract": false,
|
|
2265
|
+
"name": "setFlowOwner"
|
|
2266
|
+
},
|
|
2267
|
+
{
|
|
2268
|
+
"kind": "Method",
|
|
2269
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentSession#setPinned:member(1)",
|
|
2270
|
+
"docComment": "/**\n * Set the sticky user pin. `null` returns to automatic routing.\n */\n",
|
|
2271
|
+
"excerptTokens": [
|
|
2272
|
+
{
|
|
2273
|
+
"kind": "Content",
|
|
2274
|
+
"text": "setPinned(name: "
|
|
2275
|
+
},
|
|
2276
|
+
{
|
|
2277
|
+
"kind": "Content",
|
|
2278
|
+
"text": "string | null"
|
|
2279
|
+
},
|
|
2280
|
+
{
|
|
2281
|
+
"kind": "Content",
|
|
2282
|
+
"text": "): "
|
|
2283
|
+
},
|
|
2284
|
+
{
|
|
2285
|
+
"kind": "Content",
|
|
2286
|
+
"text": "void"
|
|
2287
|
+
},
|
|
2288
|
+
{
|
|
2289
|
+
"kind": "Content",
|
|
2290
|
+
"text": ";"
|
|
2291
|
+
}
|
|
2292
|
+
],
|
|
2293
|
+
"isStatic": false,
|
|
2294
|
+
"returnTypeTokenRange": {
|
|
2295
|
+
"startIndex": 3,
|
|
2296
|
+
"endIndex": 4
|
|
2297
|
+
},
|
|
2298
|
+
"releaseTag": "Beta",
|
|
2299
|
+
"isProtected": false,
|
|
2300
|
+
"overloadIndex": 1,
|
|
2301
|
+
"parameters": [
|
|
2302
|
+
{
|
|
2303
|
+
"parameterName": "name",
|
|
2304
|
+
"parameterTypeTokenRange": {
|
|
2305
|
+
"startIndex": 1,
|
|
2306
|
+
"endIndex": 2
|
|
2307
|
+
},
|
|
2308
|
+
"isOptional": false
|
|
2309
|
+
}
|
|
2310
|
+
],
|
|
2311
|
+
"isOptional": false,
|
|
2312
|
+
"isAbstract": false,
|
|
2313
|
+
"name": "setPinned"
|
|
2314
|
+
}
|
|
2315
|
+
],
|
|
2316
|
+
"implementsTokenRanges": []
|
|
2317
|
+
},
|
|
2318
|
+
{
|
|
2319
|
+
"kind": "Interface",
|
|
2320
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentSessionDeps:interface",
|
|
2321
|
+
"docComment": "/**\n * Callbacks an {@link AgentSession} needs from its owner.\n *\n * @beta\n */\n",
|
|
2322
|
+
"excerptTokens": [
|
|
2323
|
+
{
|
|
2324
|
+
"kind": "Content",
|
|
2325
|
+
"text": "export interface AgentSessionDeps "
|
|
2326
|
+
}
|
|
2327
|
+
],
|
|
2328
|
+
"fileUrlPath": "src/components/agent-session/agent-session.ts",
|
|
2329
|
+
"releaseTag": "Beta",
|
|
2330
|
+
"name": "AgentSessionDeps",
|
|
2331
|
+
"preserveMemberOrder": false,
|
|
2332
|
+
"members": [
|
|
2333
|
+
{
|
|
2334
|
+
"kind": "PropertySignature",
|
|
2335
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentSessionDeps#sessionKey:member",
|
|
2336
|
+
"docComment": "/**\n * The debug-log session key, read per call rather than captured: a driver's key is assigned after construction on some paths, so a value captured here would pin the wrong one.\n */\n",
|
|
2337
|
+
"excerptTokens": [
|
|
2338
|
+
{
|
|
2339
|
+
"kind": "Content",
|
|
2340
|
+
"text": "sessionKey: "
|
|
2341
|
+
},
|
|
2342
|
+
{
|
|
2343
|
+
"kind": "Content",
|
|
2344
|
+
"text": "() => string"
|
|
2345
|
+
},
|
|
2346
|
+
{
|
|
2347
|
+
"kind": "Content",
|
|
2348
|
+
"text": ";"
|
|
2349
|
+
}
|
|
2350
|
+
],
|
|
2351
|
+
"isReadonly": false,
|
|
2352
|
+
"isOptional": false,
|
|
2353
|
+
"releaseTag": "Beta",
|
|
2354
|
+
"name": "sessionKey",
|
|
2355
|
+
"propertyTypeTokenRange": {
|
|
2356
|
+
"startIndex": 1,
|
|
2357
|
+
"endIndex": 2
|
|
2358
|
+
}
|
|
2359
|
+
}
|
|
2360
|
+
],
|
|
2361
|
+
"extendsTokenRanges": []
|
|
2362
|
+
},
|
|
2363
|
+
{
|
|
2364
|
+
"kind": "Interface",
|
|
2365
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentTransition:interface",
|
|
2366
|
+
"docComment": "/**\n * What changed when an agent was activated or released.\n *\n * Returned rather than dispatched: the host listens on the `OrchestratingDriver`, not on the `ChatDriver` that owns the session, so a self-dispatching session would need telling which target to fire on.\n *\n * @beta\n */\n",
|
|
2367
|
+
"excerptTokens": [
|
|
2368
|
+
{
|
|
2369
|
+
"kind": "Content",
|
|
2370
|
+
"text": "export interface AgentTransition "
|
|
2371
|
+
}
|
|
2372
|
+
],
|
|
2373
|
+
"fileUrlPath": "src/components/agent-session/agent-session.ts",
|
|
2374
|
+
"releaseTag": "Beta",
|
|
2375
|
+
"name": "AgentTransition",
|
|
2376
|
+
"preserveMemberOrder": false,
|
|
2377
|
+
"members": [
|
|
2378
|
+
{
|
|
2379
|
+
"kind": "PropertySignature",
|
|
2380
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentTransition#flowOwnerChangedTo:member",
|
|
2381
|
+
"docComment": "/**\n * Set when the flow-owner lock changed, to the value it changed *to* (`null` on release). `undefined` means unchanged — distinct from `null`, so a caller can tell \"cleared\" from \"not touched\" without re-reading.\n */\n",
|
|
2382
|
+
"excerptTokens": [
|
|
2383
|
+
{
|
|
2384
|
+
"kind": "Content",
|
|
2385
|
+
"text": "flowOwnerChangedTo?: "
|
|
2386
|
+
},
|
|
2387
|
+
{
|
|
2388
|
+
"kind": "Content",
|
|
2389
|
+
"text": "string | null"
|
|
2390
|
+
},
|
|
2391
|
+
{
|
|
2392
|
+
"kind": "Content",
|
|
2393
|
+
"text": ";"
|
|
2394
|
+
}
|
|
2395
|
+
],
|
|
2396
|
+
"isReadonly": false,
|
|
2397
|
+
"isOptional": true,
|
|
2398
|
+
"releaseTag": "Beta",
|
|
2399
|
+
"name": "flowOwnerChangedTo",
|
|
2400
|
+
"propertyTypeTokenRange": {
|
|
2401
|
+
"startIndex": 1,
|
|
2402
|
+
"endIndex": 2
|
|
2403
|
+
}
|
|
2404
|
+
},
|
|
2405
|
+
{
|
|
2406
|
+
"kind": "PropertySignature",
|
|
2407
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentTransition#previousAgent:member",
|
|
2408
|
+
"docComment": "/**\n * The agent that was active before, if any.\n */\n",
|
|
2409
|
+
"excerptTokens": [
|
|
2410
|
+
{
|
|
2411
|
+
"kind": "Content",
|
|
2412
|
+
"text": "previousAgent?: "
|
|
2413
|
+
},
|
|
2414
|
+
{
|
|
2415
|
+
"kind": "Reference",
|
|
2416
|
+
"text": "AgentConfig",
|
|
2417
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentConfig:type"
|
|
2418
|
+
},
|
|
2419
|
+
{
|
|
2420
|
+
"kind": "Content",
|
|
2421
|
+
"text": ";"
|
|
2422
|
+
}
|
|
2423
|
+
],
|
|
2424
|
+
"isReadonly": false,
|
|
2425
|
+
"isOptional": true,
|
|
2426
|
+
"releaseTag": "Beta",
|
|
2427
|
+
"name": "previousAgent",
|
|
2428
|
+
"propertyTypeTokenRange": {
|
|
2429
|
+
"startIndex": 1,
|
|
2430
|
+
"endIndex": 2
|
|
2431
|
+
}
|
|
2432
|
+
},
|
|
2433
|
+
{
|
|
2434
|
+
"kind": "PropertySignature",
|
|
2435
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentTransition#switched:member",
|
|
2436
|
+
"docComment": "/**\n * True when the activation was a real swap rather than a re-apply of the same agent.\n */\n",
|
|
2437
|
+
"excerptTokens": [
|
|
2438
|
+
{
|
|
2439
|
+
"kind": "Content",
|
|
2440
|
+
"text": "switched: "
|
|
2441
|
+
},
|
|
2442
|
+
{
|
|
2443
|
+
"kind": "Content",
|
|
2444
|
+
"text": "boolean"
|
|
2445
|
+
},
|
|
2446
|
+
{
|
|
2447
|
+
"kind": "Content",
|
|
2448
|
+
"text": ";"
|
|
2449
|
+
}
|
|
2450
|
+
],
|
|
2451
|
+
"isReadonly": false,
|
|
2452
|
+
"isOptional": false,
|
|
2453
|
+
"releaseTag": "Beta",
|
|
2454
|
+
"name": "switched",
|
|
2455
|
+
"propertyTypeTokenRange": {
|
|
2456
|
+
"startIndex": 1,
|
|
2457
|
+
"endIndex": 2
|
|
2458
|
+
}
|
|
2459
|
+
}
|
|
2460
|
+
],
|
|
2461
|
+
"extendsTokenRanges": []
|
|
2462
|
+
},
|
|
1796
2463
|
{
|
|
1797
2464
|
"kind": "TypeAlias",
|
|
1798
2465
|
"canonicalReference": "@genesislcap/ai-assistant!AiAssistantAnimation:type",
|
|
@@ -2671,7 +3338,7 @@
|
|
|
2671
3338
|
{
|
|
2672
3339
|
"kind": "MethodSignature",
|
|
2673
3340
|
"canonicalReference": "@genesislcap/ai-assistant!AiDriver#getActiveAgent:member(1)",
|
|
2674
|
-
"docComment": "/**\n * The live `AgentConfig` currently active in the driver — the instance whose `onActivate` ran, so its `serialize`/`getDebugSnapshot` closures hold live state. Prefer this over looking the agent up in the host's `agents` array, which may mint fresh, never-activated configs
|
|
3341
|
+
"docComment": "/**\n * The live `AgentConfig` currently active in the driver — the instance whose `onActivate` ran, so its `serialize`/`getDebugSnapshot` closures hold live state. Prefer this over looking the agent up in the host's `agents` array, which may mint fresh, never-activated configs.\n *\n * `undefined` means no agent is active (before the first activation, after a release), which is a different statement from the driver not being able to answer. Both drivers implement it since GENC-1580; see {@link AiDriver.primeRestoredAgentState} for why the `?` stays for now.\n */\n",
|
|
2675
3342
|
"excerptTokens": [
|
|
2676
3343
|
{
|
|
2677
3344
|
"kind": "Content",
|
|
@@ -3234,7 +3901,7 @@
|
|
|
3234
3901
|
{
|
|
3235
3902
|
"kind": "MethodSignature",
|
|
3236
3903
|
"canonicalReference": "@genesislcap/ai-assistant!AiDriver#primeRestoredAgentState:member(1)",
|
|
3237
|
-
"docComment": "/**\n * Prime per-agent restored state for a session being rehydrated. Each entry (keyed by agent name) is handed to that agent's `onActivate`/`init` as `ctx.restored` on its next activation, then consumed
|
|
3904
|
+
"docComment": "/**\n * Prime per-agent restored state for a session being rehydrated. Each entry (keyed by agent name) is handed to that agent's `onActivate`/`init` as `ctx.restored` on its next activation, then consumed.\n *\n * Implemented by every driver since GENC-1580 — each owns an `AgentSession` — so \"only multi-agent drivers implement it\" is no longer true. Still declared optional: this interface is exported and `@beta`, so requiring it would break any third party implementing it. The `?` comes off with the `installAgent` rename, which is the ticket's one breaking release.\n */\n",
|
|
3238
3905
|
"excerptTokens": [
|
|
3239
3906
|
{
|
|
3240
3907
|
"kind": "Content",
|
|
@@ -3528,6 +4195,96 @@
|
|
|
3528
4195
|
}
|
|
3529
4196
|
],
|
|
3530
4197
|
"name": "setContextGuard"
|
|
4198
|
+
},
|
|
4199
|
+
{
|
|
4200
|
+
"kind": "MethodSignature",
|
|
4201
|
+
"canonicalReference": "@genesislcap/ai-assistant!AiDriver#setFlowOwner:member(1)",
|
|
4202
|
+
"docComment": "/**\n * Set the transient flow lock — used to restore state on driver reconstruction (agents-array changes, pop-in/pop-out), **not** to steer routing; that is {@link AiDriver.setPinnedAgent}'s job. Writes without firing lifecycle hooks, because the flow it names is already running.\n *\n * Added to the interface in GENC-1580, as for {@link AiDriver.setPinnedAgent}.\n */\n",
|
|
4203
|
+
"excerptTokens": [
|
|
4204
|
+
{
|
|
4205
|
+
"kind": "Content",
|
|
4206
|
+
"text": "setFlowOwner?(name: "
|
|
4207
|
+
},
|
|
4208
|
+
{
|
|
4209
|
+
"kind": "Content",
|
|
4210
|
+
"text": "string | null"
|
|
4211
|
+
},
|
|
4212
|
+
{
|
|
4213
|
+
"kind": "Content",
|
|
4214
|
+
"text": "): "
|
|
4215
|
+
},
|
|
4216
|
+
{
|
|
4217
|
+
"kind": "Content",
|
|
4218
|
+
"text": "void"
|
|
4219
|
+
},
|
|
4220
|
+
{
|
|
4221
|
+
"kind": "Content",
|
|
4222
|
+
"text": ";"
|
|
4223
|
+
}
|
|
4224
|
+
],
|
|
4225
|
+
"isOptional": true,
|
|
4226
|
+
"returnTypeTokenRange": {
|
|
4227
|
+
"startIndex": 3,
|
|
4228
|
+
"endIndex": 4
|
|
4229
|
+
},
|
|
4230
|
+
"releaseTag": "Beta",
|
|
4231
|
+
"overloadIndex": 1,
|
|
4232
|
+
"parameters": [
|
|
4233
|
+
{
|
|
4234
|
+
"parameterName": "name",
|
|
4235
|
+
"parameterTypeTokenRange": {
|
|
4236
|
+
"startIndex": 1,
|
|
4237
|
+
"endIndex": 2
|
|
4238
|
+
},
|
|
4239
|
+
"isOptional": false
|
|
4240
|
+
}
|
|
4241
|
+
],
|
|
4242
|
+
"name": "setFlowOwner"
|
|
4243
|
+
},
|
|
4244
|
+
{
|
|
4245
|
+
"kind": "MethodSignature",
|
|
4246
|
+
"canonicalReference": "@genesislcap/ai-assistant!AiDriver#setPinnedAgent:member(1)",
|
|
4247
|
+
"docComment": "/**\n * Pin routing to an agent by name, or `null` for automatic routing. A pin is sticky: it survives a stateful flow completing, so the next turn starts fresh on the same agent.\n *\n * On a driver with nothing to route between this is recorded rather than acted on — the pick belongs to the session, which outlives the question of which driver holds it.\n *\n * Added to the interface in GENC-1580 — it was previously reached by narrowing to `OrchestratingDriver` with `instanceof`. Optional, so adding it breaks no implementor.\n */\n",
|
|
4248
|
+
"excerptTokens": [
|
|
4249
|
+
{
|
|
4250
|
+
"kind": "Content",
|
|
4251
|
+
"text": "setPinnedAgent?(name: "
|
|
4252
|
+
},
|
|
4253
|
+
{
|
|
4254
|
+
"kind": "Content",
|
|
4255
|
+
"text": "string | null"
|
|
4256
|
+
},
|
|
4257
|
+
{
|
|
4258
|
+
"kind": "Content",
|
|
4259
|
+
"text": "): "
|
|
4260
|
+
},
|
|
4261
|
+
{
|
|
4262
|
+
"kind": "Content",
|
|
4263
|
+
"text": "void"
|
|
4264
|
+
},
|
|
4265
|
+
{
|
|
4266
|
+
"kind": "Content",
|
|
4267
|
+
"text": ";"
|
|
4268
|
+
}
|
|
4269
|
+
],
|
|
4270
|
+
"isOptional": true,
|
|
4271
|
+
"returnTypeTokenRange": {
|
|
4272
|
+
"startIndex": 3,
|
|
4273
|
+
"endIndex": 4
|
|
4274
|
+
},
|
|
4275
|
+
"releaseTag": "Beta",
|
|
4276
|
+
"overloadIndex": 1,
|
|
4277
|
+
"parameters": [
|
|
4278
|
+
{
|
|
4279
|
+
"parameterName": "name",
|
|
4280
|
+
"parameterTypeTokenRange": {
|
|
4281
|
+
"startIndex": 1,
|
|
4282
|
+
"endIndex": 2
|
|
4283
|
+
},
|
|
4284
|
+
"isOptional": false
|
|
4285
|
+
}
|
|
4286
|
+
],
|
|
4287
|
+
"name": "setPinnedAgent"
|
|
3531
4288
|
}
|
|
3532
4289
|
],
|
|
3533
4290
|
"extendsTokenRanges": [
|
|
@@ -4533,35 +5290,89 @@
|
|
|
4533
5290
|
},
|
|
4534
5291
|
{
|
|
4535
5292
|
"kind": "Content",
|
|
4536
|
-
"text": ");"
|
|
5293
|
+
"text": ");"
|
|
5294
|
+
}
|
|
5295
|
+
],
|
|
5296
|
+
"releaseTag": "Public",
|
|
5297
|
+
"isProtected": false,
|
|
5298
|
+
"overloadIndex": 1,
|
|
5299
|
+
"parameters": [
|
|
5300
|
+
{
|
|
5301
|
+
"parameterName": "providerRegistry",
|
|
5302
|
+
"parameterTypeTokenRange": {
|
|
5303
|
+
"startIndex": 1,
|
|
5304
|
+
"endIndex": 2
|
|
5305
|
+
},
|
|
5306
|
+
"isOptional": false
|
|
5307
|
+
},
|
|
5308
|
+
{
|
|
5309
|
+
"parameterName": "config",
|
|
5310
|
+
"parameterTypeTokenRange": {
|
|
5311
|
+
"startIndex": 3,
|
|
5312
|
+
"endIndex": 4
|
|
5313
|
+
},
|
|
5314
|
+
"isOptional": true
|
|
5315
|
+
}
|
|
5316
|
+
]
|
|
5317
|
+
},
|
|
5318
|
+
{
|
|
5319
|
+
"kind": "Method",
|
|
5320
|
+
"canonicalReference": "@genesislcap/ai-assistant!ChatDriver#activateAgent:member(1)",
|
|
5321
|
+
"docComment": "/**\n * Make `config` the active agent, firing its lifecycle hooks — `onDeactivate` on the outgoing agent, then `onActivate` on this one — before installing it.\n *\n * This is the entry point a host should use. {@link ChatDriver.applyAgent} installs a config *without* firing hooks, which is right for the two callers that need it (the orchestrator, which fires them through the shared session, and `invokeSubAgent`, where a child's config is not an activation) and wrong for everyone else.\n *\n * @beta\n */\n",
|
|
5322
|
+
"excerptTokens": [
|
|
5323
|
+
{
|
|
5324
|
+
"kind": "Content",
|
|
5325
|
+
"text": "activateAgent(config: "
|
|
5326
|
+
},
|
|
5327
|
+
{
|
|
5328
|
+
"kind": "Reference",
|
|
5329
|
+
"text": "AgentConfig",
|
|
5330
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentConfig:type"
|
|
5331
|
+
},
|
|
5332
|
+
{
|
|
5333
|
+
"kind": "Content",
|
|
5334
|
+
"text": "): "
|
|
5335
|
+
},
|
|
5336
|
+
{
|
|
5337
|
+
"kind": "Reference",
|
|
5338
|
+
"text": "Promise",
|
|
5339
|
+
"canonicalReference": "!Promise:interface"
|
|
5340
|
+
},
|
|
5341
|
+
{
|
|
5342
|
+
"kind": "Content",
|
|
5343
|
+
"text": "<void>"
|
|
5344
|
+
},
|
|
5345
|
+
{
|
|
5346
|
+
"kind": "Content",
|
|
5347
|
+
"text": ";"
|
|
4537
5348
|
}
|
|
4538
5349
|
],
|
|
4539
|
-
"
|
|
5350
|
+
"isStatic": false,
|
|
5351
|
+
"returnTypeTokenRange": {
|
|
5352
|
+
"startIndex": 3,
|
|
5353
|
+
"endIndex": 5
|
|
5354
|
+
},
|
|
5355
|
+
"releaseTag": "Beta",
|
|
4540
5356
|
"isProtected": false,
|
|
4541
5357
|
"overloadIndex": 1,
|
|
4542
5358
|
"parameters": [
|
|
4543
5359
|
{
|
|
4544
|
-
"parameterName": "
|
|
5360
|
+
"parameterName": "config",
|
|
4545
5361
|
"parameterTypeTokenRange": {
|
|
4546
5362
|
"startIndex": 1,
|
|
4547
5363
|
"endIndex": 2
|
|
4548
5364
|
},
|
|
4549
5365
|
"isOptional": false
|
|
4550
|
-
},
|
|
4551
|
-
{
|
|
4552
|
-
"parameterName": "config",
|
|
4553
|
-
"parameterTypeTokenRange": {
|
|
4554
|
-
"startIndex": 3,
|
|
4555
|
-
"endIndex": 4
|
|
4556
|
-
},
|
|
4557
|
-
"isOptional": true
|
|
4558
5366
|
}
|
|
4559
|
-
]
|
|
5367
|
+
],
|
|
5368
|
+
"isOptional": false,
|
|
5369
|
+
"isAbstract": false,
|
|
5370
|
+
"name": "activateAgent"
|
|
4560
5371
|
},
|
|
4561
5372
|
{
|
|
4562
5373
|
"kind": "Method",
|
|
4563
5374
|
"canonicalReference": "@genesislcap/ai-assistant!ChatDriver#applyAgent:member(1)",
|
|
4564
|
-
"docComment": "/**\n *
|
|
5375
|
+
"docComment": "/**\n * Install `config` as the active agent **without firing lifecycle hooks**.\n *\n * Prefer {@link ChatDriver.activateAgent} unless you are deliberately skipping the hooks. Two callers are: `OrchestratingDriver`, which fires them through the shared {@link ChatDriver.agentSession} and then installs a decorated config, and `invokeSubAgent`, where the child driver's config is a tool surface rather than an activation.\n *\n * Renamed to `installAgent` in a follow-up (GENC-1580) — see `docs/migration-GENC-1580.md`. Until then the name says less than it should, so do not add a third caller to this path without checking which of the two above it resembles.\n */\n",
|
|
4565
5376
|
"excerptTokens": [
|
|
4566
5377
|
{
|
|
4567
5378
|
"kind": "Content",
|
|
@@ -4826,9 +5637,14 @@
|
|
|
4826
5637
|
"kind": "Content",
|
|
4827
5638
|
"text": "dispose(): "
|
|
4828
5639
|
},
|
|
5640
|
+
{
|
|
5641
|
+
"kind": "Reference",
|
|
5642
|
+
"text": "Promise",
|
|
5643
|
+
"canonicalReference": "!Promise:interface"
|
|
5644
|
+
},
|
|
4829
5645
|
{
|
|
4830
5646
|
"kind": "Content",
|
|
4831
|
-
"text": "void"
|
|
5647
|
+
"text": "<void>"
|
|
4832
5648
|
},
|
|
4833
5649
|
{
|
|
4834
5650
|
"kind": "Content",
|
|
@@ -4838,7 +5654,7 @@
|
|
|
4838
5654
|
"isStatic": false,
|
|
4839
5655
|
"returnTypeTokenRange": {
|
|
4840
5656
|
"startIndex": 1,
|
|
4841
|
-
"endIndex":
|
|
5657
|
+
"endIndex": 3
|
|
4842
5658
|
},
|
|
4843
5659
|
"releaseTag": "Public",
|
|
4844
5660
|
"isProtected": false,
|
|
@@ -4848,6 +5664,42 @@
|
|
|
4848
5664
|
"isAbstract": false,
|
|
4849
5665
|
"name": "dispose"
|
|
4850
5666
|
},
|
|
5667
|
+
{
|
|
5668
|
+
"kind": "Method",
|
|
5669
|
+
"canonicalReference": "@genesislcap/ai-assistant!ChatDriver#getActiveAgent:member(1)",
|
|
5670
|
+
"docComment": "/**\n * The live `AgentConfig` currently active in the driver — the instance whose `onActivate` ran, so its `serialize`/`getDebugSnapshot` closures hold live state. Prefer this over looking the agent up in the host's `agents` array, which may mint fresh, never-activated configs.\n *\n * `undefined` means no agent is active (before the first activation, after a release), which is a different statement from the driver not being able to answer. Both drivers implement it since GENC-1580; see {@link AiDriver.primeRestoredAgentState} for why the `?` stays for now.\n *\n * @beta\n */\n",
|
|
5671
|
+
"excerptTokens": [
|
|
5672
|
+
{
|
|
5673
|
+
"kind": "Content",
|
|
5674
|
+
"text": "getActiveAgent(): "
|
|
5675
|
+
},
|
|
5676
|
+
{
|
|
5677
|
+
"kind": "Reference",
|
|
5678
|
+
"text": "AgentConfig",
|
|
5679
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentConfig:type"
|
|
5680
|
+
},
|
|
5681
|
+
{
|
|
5682
|
+
"kind": "Content",
|
|
5683
|
+
"text": " | undefined"
|
|
5684
|
+
},
|
|
5685
|
+
{
|
|
5686
|
+
"kind": "Content",
|
|
5687
|
+
"text": ";"
|
|
5688
|
+
}
|
|
5689
|
+
],
|
|
5690
|
+
"isStatic": false,
|
|
5691
|
+
"returnTypeTokenRange": {
|
|
5692
|
+
"startIndex": 1,
|
|
5693
|
+
"endIndex": 3
|
|
5694
|
+
},
|
|
5695
|
+
"releaseTag": "Beta",
|
|
5696
|
+
"isProtected": false,
|
|
5697
|
+
"overloadIndex": 1,
|
|
5698
|
+
"parameters": [],
|
|
5699
|
+
"isOptional": false,
|
|
5700
|
+
"isAbstract": false,
|
|
5701
|
+
"name": "getActiveAgent"
|
|
5702
|
+
},
|
|
4851
5703
|
{
|
|
4852
5704
|
"kind": "Method",
|
|
4853
5705
|
"canonicalReference": "@genesislcap/ai-assistant!ChatDriver#getActiveFoldNames:member(1)",
|
|
@@ -5337,7 +6189,7 @@
|
|
|
5337
6189
|
{
|
|
5338
6190
|
"kind": "Method",
|
|
5339
6191
|
"canonicalReference": "@genesislcap/ai-assistant!ChatDriver#getSuggestions:member(1)",
|
|
5340
|
-
"docComment": "",
|
|
6192
|
+
"docComment": "/**\n * Get query suggestions from the AI.\n *\n * @beta\n */\n",
|
|
5341
6193
|
"excerptTokens": [
|
|
5342
6194
|
{
|
|
5343
6195
|
"kind": "Content",
|
|
@@ -5404,7 +6256,7 @@
|
|
|
5404
6256
|
"startIndex": 11,
|
|
5405
6257
|
"endIndex": 13
|
|
5406
6258
|
},
|
|
5407
|
-
"releaseTag": "
|
|
6259
|
+
"releaseTag": "Beta",
|
|
5408
6260
|
"isProtected": false,
|
|
5409
6261
|
"overloadIndex": 1,
|
|
5410
6262
|
"parameters": [
|
|
@@ -5605,6 +6457,59 @@
|
|
|
5605
6457
|
"isAbstract": false,
|
|
5606
6458
|
"name": "markAsSubAgent"
|
|
5607
6459
|
},
|
|
6460
|
+
{
|
|
6461
|
+
"kind": "Method",
|
|
6462
|
+
"canonicalReference": "@genesislcap/ai-assistant!ChatDriver#primeRestoredAgentState:member(1)",
|
|
6463
|
+
"docComment": "/**\n * Prime per-agent restored state for a session being rehydrated. Each entry (keyed by agent name) is handed to that agent's `onActivate`/`init` as `ctx.restored` on its next activation, then consumed.\n *\n * Implemented by every driver since GENC-1580 — each owns an `AgentSession` — so \"only multi-agent drivers implement it\" is no longer true. Still declared optional: this interface is exported and `@beta`, so requiring it would break any third party implementing it. The `?` comes off with the `installAgent` rename, which is the ticket's one breaking release.\n */\n",
|
|
6464
|
+
"excerptTokens": [
|
|
6465
|
+
{
|
|
6466
|
+
"kind": "Content",
|
|
6467
|
+
"text": "primeRestoredAgentState(snapshots: "
|
|
6468
|
+
},
|
|
6469
|
+
{
|
|
6470
|
+
"kind": "Reference",
|
|
6471
|
+
"text": "Record",
|
|
6472
|
+
"canonicalReference": "!Record:type"
|
|
6473
|
+
},
|
|
6474
|
+
{
|
|
6475
|
+
"kind": "Content",
|
|
6476
|
+
"text": "<string, unknown>"
|
|
6477
|
+
},
|
|
6478
|
+
{
|
|
6479
|
+
"kind": "Content",
|
|
6480
|
+
"text": "): "
|
|
6481
|
+
},
|
|
6482
|
+
{
|
|
6483
|
+
"kind": "Content",
|
|
6484
|
+
"text": "void"
|
|
6485
|
+
},
|
|
6486
|
+
{
|
|
6487
|
+
"kind": "Content",
|
|
6488
|
+
"text": ";"
|
|
6489
|
+
}
|
|
6490
|
+
],
|
|
6491
|
+
"isStatic": false,
|
|
6492
|
+
"returnTypeTokenRange": {
|
|
6493
|
+
"startIndex": 4,
|
|
6494
|
+
"endIndex": 5
|
|
6495
|
+
},
|
|
6496
|
+
"releaseTag": "Public",
|
|
6497
|
+
"isProtected": false,
|
|
6498
|
+
"overloadIndex": 1,
|
|
6499
|
+
"parameters": [
|
|
6500
|
+
{
|
|
6501
|
+
"parameterName": "snapshots",
|
|
6502
|
+
"parameterTypeTokenRange": {
|
|
6503
|
+
"startIndex": 1,
|
|
6504
|
+
"endIndex": 3
|
|
6505
|
+
},
|
|
6506
|
+
"isOptional": false
|
|
6507
|
+
}
|
|
6508
|
+
],
|
|
6509
|
+
"isOptional": false,
|
|
6510
|
+
"isAbstract": false,
|
|
6511
|
+
"name": "primeRestoredAgentState"
|
|
6512
|
+
},
|
|
5608
6513
|
{
|
|
5609
6514
|
"kind": "Method",
|
|
5610
6515
|
"canonicalReference": "@genesislcap/ai-assistant!ChatDriver#recordExternalCost:member(1)",
|
|
@@ -6031,6 +6936,54 @@
|
|
|
6031
6936
|
"isAbstract": false,
|
|
6032
6937
|
"name": "setContextGuard"
|
|
6033
6938
|
},
|
|
6939
|
+
{
|
|
6940
|
+
"kind": "Method",
|
|
6941
|
+
"canonicalReference": "@genesislcap/ai-assistant!ChatDriver#setFlowOwner:member(1)",
|
|
6942
|
+
"docComment": "/**\n * Record the transient flow lock. See {@link AiDriver.setFlowOwner} for the contract.\n *\n * Recorded, not acted on, for the same reason as {@link ChatDriver.setPinnedAgent}.\n *\n * @beta\n */\n",
|
|
6943
|
+
"excerptTokens": [
|
|
6944
|
+
{
|
|
6945
|
+
"kind": "Content",
|
|
6946
|
+
"text": "setFlowOwner(name: "
|
|
6947
|
+
},
|
|
6948
|
+
{
|
|
6949
|
+
"kind": "Content",
|
|
6950
|
+
"text": "string | null"
|
|
6951
|
+
},
|
|
6952
|
+
{
|
|
6953
|
+
"kind": "Content",
|
|
6954
|
+
"text": "): "
|
|
6955
|
+
},
|
|
6956
|
+
{
|
|
6957
|
+
"kind": "Content",
|
|
6958
|
+
"text": "void"
|
|
6959
|
+
},
|
|
6960
|
+
{
|
|
6961
|
+
"kind": "Content",
|
|
6962
|
+
"text": ";"
|
|
6963
|
+
}
|
|
6964
|
+
],
|
|
6965
|
+
"isStatic": false,
|
|
6966
|
+
"returnTypeTokenRange": {
|
|
6967
|
+
"startIndex": 3,
|
|
6968
|
+
"endIndex": 4
|
|
6969
|
+
},
|
|
6970
|
+
"releaseTag": "Beta",
|
|
6971
|
+
"isProtected": false,
|
|
6972
|
+
"overloadIndex": 1,
|
|
6973
|
+
"parameters": [
|
|
6974
|
+
{
|
|
6975
|
+
"parameterName": "name",
|
|
6976
|
+
"parameterTypeTokenRange": {
|
|
6977
|
+
"startIndex": 1,
|
|
6978
|
+
"endIndex": 2
|
|
6979
|
+
},
|
|
6980
|
+
"isOptional": false
|
|
6981
|
+
}
|
|
6982
|
+
],
|
|
6983
|
+
"isOptional": false,
|
|
6984
|
+
"isAbstract": false,
|
|
6985
|
+
"name": "setFlowOwner"
|
|
6986
|
+
},
|
|
6034
6987
|
{
|
|
6035
6988
|
"kind": "Method",
|
|
6036
6989
|
"canonicalReference": "@genesislcap/ai-assistant!ChatDriver#setHostInteractionRequester:member(1)",
|
|
@@ -6097,6 +7050,54 @@
|
|
|
6097
7050
|
"isAbstract": false,
|
|
6098
7051
|
"name": "setHostInteractionRequester"
|
|
6099
7052
|
},
|
|
7053
|
+
{
|
|
7054
|
+
"kind": "Method",
|
|
7055
|
+
"canonicalReference": "@genesislcap/ai-assistant!ChatDriver#setPinnedAgent:member(1)",
|
|
7056
|
+
"docComment": "/**\n * Record the sticky agent pin. See {@link AiDriver.setPinnedAgent} for the contract.\n *\n * Recorded, not acted on: this driver has one agent and nothing to route between, so a pin changes no behaviour here. It is still honoured as state, because the session outlives the question of which driver is holding it — a host that pins before an orchestrator is built would otherwise lose the pick.\n *\n * @beta\n */\n",
|
|
7057
|
+
"excerptTokens": [
|
|
7058
|
+
{
|
|
7059
|
+
"kind": "Content",
|
|
7060
|
+
"text": "setPinnedAgent(name: "
|
|
7061
|
+
},
|
|
7062
|
+
{
|
|
7063
|
+
"kind": "Content",
|
|
7064
|
+
"text": "string | null"
|
|
7065
|
+
},
|
|
7066
|
+
{
|
|
7067
|
+
"kind": "Content",
|
|
7068
|
+
"text": "): "
|
|
7069
|
+
},
|
|
7070
|
+
{
|
|
7071
|
+
"kind": "Content",
|
|
7072
|
+
"text": "void"
|
|
7073
|
+
},
|
|
7074
|
+
{
|
|
7075
|
+
"kind": "Content",
|
|
7076
|
+
"text": ";"
|
|
7077
|
+
}
|
|
7078
|
+
],
|
|
7079
|
+
"isStatic": false,
|
|
7080
|
+
"returnTypeTokenRange": {
|
|
7081
|
+
"startIndex": 3,
|
|
7082
|
+
"endIndex": 4
|
|
7083
|
+
},
|
|
7084
|
+
"releaseTag": "Beta",
|
|
7085
|
+
"isProtected": false,
|
|
7086
|
+
"overloadIndex": 1,
|
|
7087
|
+
"parameters": [
|
|
7088
|
+
{
|
|
7089
|
+
"parameterName": "name",
|
|
7090
|
+
"parameterTypeTokenRange": {
|
|
7091
|
+
"startIndex": 1,
|
|
7092
|
+
"endIndex": 2
|
|
7093
|
+
},
|
|
7094
|
+
"isOptional": false
|
|
7095
|
+
}
|
|
7096
|
+
],
|
|
7097
|
+
"isOptional": false,
|
|
7098
|
+
"isAbstract": false,
|
|
7099
|
+
"name": "setPinnedAgent"
|
|
7100
|
+
},
|
|
6100
7101
|
{
|
|
6101
7102
|
"kind": "Method",
|
|
6102
7103
|
"canonicalReference": "@genesislcap/ai-assistant!ChatDriver#setProviderHistoryTransform:member(1)",
|
|
@@ -6272,6 +7273,33 @@
|
|
|
6272
7273
|
"endIndex": 2
|
|
6273
7274
|
}
|
|
6274
7275
|
},
|
|
7276
|
+
{
|
|
7277
|
+
"kind": "PropertySignature",
|
|
7278
|
+
"canonicalReference": "@genesislcap/ai-assistant!ChatDriverConfig#deferAgentRelease:member",
|
|
7279
|
+
"docComment": "/**\n * Leave acting on `releaseAgent` to the owner of this driver.\n *\n * Set by `OrchestratingDriver` for its inner driver, which performs the release itself after the turn so it can fire the host-facing `agent-released` / `agent-changed` / `flow-owner-changed` events. Both drivers share one `AgentSession`, so releasing here first would empty it and make the orchestrator's own release a silent no-op — leaving the host with a locked picker and a stale active agent.\n *\n * Left unset, a driver releases its own agent, which is what a bare `ChatDriver` needs: nothing else is watching the flag.\n */\n",
|
|
7280
|
+
"excerptTokens": [
|
|
7281
|
+
{
|
|
7282
|
+
"kind": "Content",
|
|
7283
|
+
"text": "deferAgentRelease?: "
|
|
7284
|
+
},
|
|
7285
|
+
{
|
|
7286
|
+
"kind": "Content",
|
|
7287
|
+
"text": "boolean"
|
|
7288
|
+
},
|
|
7289
|
+
{
|
|
7290
|
+
"kind": "Content",
|
|
7291
|
+
"text": ";"
|
|
7292
|
+
}
|
|
7293
|
+
],
|
|
7294
|
+
"isReadonly": false,
|
|
7295
|
+
"isOptional": true,
|
|
7296
|
+
"releaseTag": "Beta",
|
|
7297
|
+
"name": "deferAgentRelease",
|
|
7298
|
+
"propertyTypeTokenRange": {
|
|
7299
|
+
"startIndex": 1,
|
|
7300
|
+
"endIndex": 2
|
|
7301
|
+
}
|
|
7302
|
+
},
|
|
6275
7303
|
{
|
|
6276
7304
|
"kind": "PropertySignature",
|
|
6277
7305
|
"canonicalReference": "@genesislcap/ai-assistant!ChatDriverConfig#maxFoldOperations:member",
|
|
@@ -7576,7 +8604,7 @@
|
|
|
7576
8604
|
"text": "\"IMPORTANT: Your previous attempt returned nothing at all, which is never a valid response. Answer the user's last message now, in prose \\u2014 even if all you can honestly say is that you cannot help with it and why. If a tool is the right way to answer, call it. Do not return an empty response.\""
|
|
7577
8605
|
}
|
|
7578
8606
|
],
|
|
7579
|
-
"fileUrlPath": "src/components/chat-driver/chat-driver.ts",
|
|
8607
|
+
"fileUrlPath": "src/components/chat-driver/chat-driver.constants.ts",
|
|
7580
8608
|
"initializerTokenRange": {
|
|
7581
8609
|
"startIndex": 1,
|
|
7582
8610
|
"endIndex": 2
|
|
@@ -12000,7 +13028,7 @@
|
|
|
12000
13028
|
{
|
|
12001
13029
|
"kind": "Property",
|
|
12002
13030
|
"canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#sessionCostUsd:member",
|
|
12003
|
-
"docComment": "/**\n * Aggregated USD cost across every chat turn in this session.\n *\n * Read-only
|
|
13031
|
+
"docComment": "/**\n * Aggregated USD cost across every chat turn in this session.\n *\n * Read-only: a projection of `sessionUsage`, so an assigned figure would be overwritten by the next transcript change.\n */\n",
|
|
12004
13032
|
"excerptTokens": [
|
|
12005
13033
|
{
|
|
12006
13034
|
"kind": "Content",
|
|
@@ -15414,7 +16442,7 @@
|
|
|
15414
16442
|
"text": "\"IMPORTANT: Use only the structured function-call API to invoke tools. Do not write Python code or use Python-style syntax to call tools.\""
|
|
15415
16443
|
}
|
|
15416
16444
|
],
|
|
15417
|
-
"fileUrlPath": "src/components/chat-driver/chat-driver.ts",
|
|
16445
|
+
"fileUrlPath": "src/components/chat-driver/chat-driver.constants.ts",
|
|
15418
16446
|
"initializerTokenRange": {
|
|
15419
16447
|
"startIndex": 1,
|
|
15420
16448
|
"endIndex": 2
|
|
@@ -15639,29 +16667,33 @@
|
|
|
15639
16667
|
{
|
|
15640
16668
|
"kind": "Property",
|
|
15641
16669
|
"canonicalReference": "@genesislcap/ai-assistant!OrchestratingDriver#activeAgent:member",
|
|
15642
|
-
"docComment": "",
|
|
16670
|
+
"docComment": "/**\n * The active agent, or `undefined` before the first activation and after a release.\n *\n * Kept as an accessor over `agentSession` rather than removed: it is a public member of an exported class, so nothing in this package reading it is not the same as nothing reading it.\n */\n",
|
|
15643
16671
|
"excerptTokens": [
|
|
15644
16672
|
{
|
|
15645
16673
|
"kind": "Content",
|
|
15646
|
-
"text": "activeAgent
|
|
16674
|
+
"text": "get activeAgent(): "
|
|
15647
16675
|
},
|
|
15648
16676
|
{
|
|
15649
16677
|
"kind": "Reference",
|
|
15650
16678
|
"text": "AgentConfig",
|
|
15651
16679
|
"canonicalReference": "@genesislcap/ai-assistant!AgentConfig:type"
|
|
15652
16680
|
},
|
|
16681
|
+
{
|
|
16682
|
+
"kind": "Content",
|
|
16683
|
+
"text": " | undefined"
|
|
16684
|
+
},
|
|
15653
16685
|
{
|
|
15654
16686
|
"kind": "Content",
|
|
15655
16687
|
"text": ";"
|
|
15656
16688
|
}
|
|
15657
16689
|
],
|
|
15658
|
-
"isReadonly":
|
|
15659
|
-
"isOptional":
|
|
16690
|
+
"isReadonly": true,
|
|
16691
|
+
"isOptional": false,
|
|
15660
16692
|
"releaseTag": "Beta",
|
|
15661
16693
|
"name": "activeAgent",
|
|
15662
16694
|
"propertyTypeTokenRange": {
|
|
15663
16695
|
"startIndex": 1,
|
|
15664
|
-
"endIndex":
|
|
16696
|
+
"endIndex": 3
|
|
15665
16697
|
},
|
|
15666
16698
|
"isStatic": false,
|
|
15667
16699
|
"isProtected": false,
|
|
@@ -15916,7 +16948,7 @@
|
|
|
15916
16948
|
{
|
|
15917
16949
|
"kind": "Method",
|
|
15918
16950
|
"canonicalReference": "@genesislcap/ai-assistant!OrchestratingDriver#getActiveAgent:member(1)",
|
|
15919
|
-
"docComment": "/**\n * The live `AgentConfig` currently active in the driver — the instance whose `onActivate` ran, so its `serialize`/`getDebugSnapshot` closures hold live state. Prefer this over looking the agent up in the host's `agents` array, which may mint fresh, never-activated configs
|
|
16951
|
+
"docComment": "/**\n * The live `AgentConfig` currently active in the driver — the instance whose `onActivate` ran, so its `serialize`/`getDebugSnapshot` closures hold live state. Prefer this over looking the agent up in the host's `agents` array, which may mint fresh, never-activated configs.\n *\n * `undefined` means no agent is active (before the first activation, after a release), which is a different statement from the driver not being able to answer. Both drivers implement it since GENC-1580; see {@link AiDriver.primeRestoredAgentState} for why the `?` stays for now.\n */\n",
|
|
15920
16952
|
"excerptTokens": [
|
|
15921
16953
|
{
|
|
15922
16954
|
"kind": "Content",
|
|
@@ -16518,7 +17550,7 @@
|
|
|
16518
17550
|
{
|
|
16519
17551
|
"kind": "Method",
|
|
16520
17552
|
"canonicalReference": "@genesislcap/ai-assistant!OrchestratingDriver#primeRestoredAgentState:member(1)",
|
|
16521
|
-
"docComment": "/**\n * Prime per-agent restored state for a session being rehydrated. Each entry (keyed by agent name) is handed to that agent's `onActivate`/`init` as `ctx.restored` on its next activation, then consumed
|
|
17553
|
+
"docComment": "/**\n * Prime per-agent restored state for a session being rehydrated. Each entry (keyed by agent name) is handed to that agent's `onActivate`/`init` as `ctx.restored` on its next activation, then consumed.\n *\n * Implemented by every driver since GENC-1580 — each owns an `AgentSession` — so \"only multi-agent drivers implement it\" is no longer true. Still declared optional: this interface is exported and `@beta`, so requiring it would break any third party implementing it. The `?` comes off with the `installAgent` rename, which is the ticket's one breaking release.\n */\n",
|
|
16522
17554
|
"excerptTokens": [
|
|
16523
17555
|
{
|
|
16524
17556
|
"kind": "Content",
|
|
@@ -17469,7 +18501,7 @@
|
|
|
17469
18501
|
{
|
|
17470
18502
|
"kind": "Variable",
|
|
17471
18503
|
"canonicalReference": "@genesislcap/ai-assistant!REQUEST_CONTINUATION_TOOL:var",
|
|
17472
|
-
"docComment": "/**\n * Name reserved for the cross-agent handoff tool — injected by OrchestratingDriver.\n */\n",
|
|
18504
|
+
"docComment": "/**\n * Name reserved for the cross-agent handoff tool — injected by OrchestratingDriver.\n *\n * @beta\n */\n",
|
|
17473
18505
|
"excerptTokens": [
|
|
17474
18506
|
{
|
|
17475
18507
|
"kind": "Content",
|
|
@@ -17480,13 +18512,13 @@
|
|
|
17480
18512
|
"text": "\"request_continuation\""
|
|
17481
18513
|
}
|
|
17482
18514
|
],
|
|
17483
|
-
"fileUrlPath": "src/components/chat-driver/chat-driver.ts",
|
|
18515
|
+
"fileUrlPath": "src/components/chat-driver/chat-driver.constants.ts",
|
|
17484
18516
|
"initializerTokenRange": {
|
|
17485
18517
|
"startIndex": 1,
|
|
17486
18518
|
"endIndex": 2
|
|
17487
18519
|
},
|
|
17488
18520
|
"isReadonly": true,
|
|
17489
|
-
"releaseTag": "
|
|
18521
|
+
"releaseTag": "Beta",
|
|
17490
18522
|
"name": "REQUEST_CONTINUATION_TOOL",
|
|
17491
18523
|
"variableTypeTokenRange": {
|
|
17492
18524
|
"startIndex": 0,
|
|
@@ -21250,7 +22282,7 @@
|
|
|
21250
22282
|
{
|
|
21251
22283
|
"kind": "PropertySignature",
|
|
21252
22284
|
"canonicalReference": "@genesislcap/ai-assistant!TurnSnapshot#systemPrompt:member",
|
|
21253
|
-
"docComment": "/**\n * The agent's resolved system prompt sent to the LLM, verbatim
|
|
22285
|
+
"docComment": "/**\n * The agent's resolved system prompt sent to the LLM, verbatim — the **bare** prompt. The fold-surface suffix and the retry nudges live in {@link TurnSnapshot.tailContext} instead, to keep this byte-stable for prompt caching; read both fields to reconstruct what the model saw.\n */\n",
|
|
21254
22286
|
"excerptTokens": [
|
|
21255
22287
|
{
|
|
21256
22288
|
"kind": "Content",
|