@genesislcap/ai-assistant 14.456.3-alpha-964727d.0 → 14.457.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.
@@ -2876,7 +2876,7 @@
2876
2876
  {
2877
2877
  "kind": "Method",
2878
2878
  "canonicalReference": "@genesislcap/ai-assistant!ChatDriver#dispose:member(1)",
2879
- "docComment": "/**\n * Tear down the driver: aborts the lifecycle signal so any in-flight provider request (and prompt/tool factories awaiting it) cancels instead of running on to completion or the transport timeout. Called by the host on driver swap and by `OrchestratingDriver.dispose()`. Idempotent.\n */\n",
2879
+ "docComment": "/**\n * Tear down the driver: aborts the lifecycle signal so any in-flight provider request (and prompt/tool factories awaiting it) cancels instead of running on to completion or the transport timeout. Called by the host on driver swap and by `OrchestratingDriver.dispose()`. Idempotent.\n *\n * Deliberately does NOT settle `pendingInteractions` here: dispose is never reached while one is pending. The only host-level dispose is the agent-swap rebuild, which is guarded by `isBusy()` — a pending interaction keeps the tool loop suspended (`busy === true`), so the swap is deferred until the widget resolves. Sub-agent child disposes always have an empty pending map (widgets park on the parent via `setHostInteractionRequester`). A pending interaction is instead settled by `resolveInteraction` (user response or timeout), which also stamps history and reverts the chat-input override.\n */\n",
2880
2880
  "excerptTokens": [
2881
2881
  {
2882
2882
  "kind": "Content",
@@ -4576,6 +4576,67 @@
4576
4576
  "isProtected": false,
4577
4577
  "isAbstract": false
4578
4578
  },
4579
+ {
4580
+ "kind": "Property",
4581
+ "canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#assistantIcon:member",
4582
+ "docComment": "/**\n * Inline SVG markup overriding the default assistant \"sparkle\" avatar. The markup is sanitized (SVG profile) before rendering and uses the avatar's theme colour via `currentColor`. For a raster/photo avatar set `imageSrc` instead, which takes precedence. Set to `genesisIconSvg` to restore the Genesis G-mark.\n */\n",
4583
+ "excerptTokens": [
4584
+ {
4585
+ "kind": "Content",
4586
+ "text": "assistantIcon?: "
4587
+ },
4588
+ {
4589
+ "kind": "Content",
4590
+ "text": "string"
4591
+ },
4592
+ {
4593
+ "kind": "Content",
4594
+ "text": ";"
4595
+ }
4596
+ ],
4597
+ "isReadonly": false,
4598
+ "isOptional": true,
4599
+ "releaseTag": "Beta",
4600
+ "name": "assistantIcon",
4601
+ "propertyTypeTokenRange": {
4602
+ "startIndex": 1,
4603
+ "endIndex": 2
4604
+ },
4605
+ "isStatic": false,
4606
+ "isProtected": false,
4607
+ "isAbstract": false
4608
+ },
4609
+ {
4610
+ "kind": "Method",
4611
+ "canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#assistantIconChanged:member(1)",
4612
+ "docComment": "",
4613
+ "excerptTokens": [
4614
+ {
4615
+ "kind": "Content",
4616
+ "text": "protected assistantIconChanged(): "
4617
+ },
4618
+ {
4619
+ "kind": "Content",
4620
+ "text": "void"
4621
+ },
4622
+ {
4623
+ "kind": "Content",
4624
+ "text": ";"
4625
+ }
4626
+ ],
4627
+ "isStatic": false,
4628
+ "returnTypeTokenRange": {
4629
+ "startIndex": 1,
4630
+ "endIndex": 2
4631
+ },
4632
+ "releaseTag": "Beta",
4633
+ "isProtected": true,
4634
+ "overloadIndex": 1,
4635
+ "parameters": [],
4636
+ "isOptional": false,
4637
+ "isAbstract": false,
4638
+ "name": "assistantIconChanged"
4639
+ },
4579
4640
  {
4580
4641
  "kind": "Property",
4581
4642
  "canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#attachmentErrors:member",
@@ -4764,6 +4825,66 @@
4764
4825
  "isProtected": false,
4765
4826
  "isAbstract": false
4766
4827
  },
4828
+ {
4829
+ "kind": "Property",
4830
+ "canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#composerHeightPx:member",
4831
+ "docComment": "/**\n * Explicit composer height (px) once the user has dragged the resize handle; `null` keeps the default auto-grow behaviour. Written into the `--composer-height` custom property via the `composerHeightStyle` getter.\n */\n",
4832
+ "excerptTokens": [
4833
+ {
4834
+ "kind": "Content",
4835
+ "text": "composerHeightPx: "
4836
+ },
4837
+ {
4838
+ "kind": "Content",
4839
+ "text": "number | null"
4840
+ },
4841
+ {
4842
+ "kind": "Content",
4843
+ "text": ";"
4844
+ }
4845
+ ],
4846
+ "isReadonly": false,
4847
+ "isOptional": false,
4848
+ "releaseTag": "Beta",
4849
+ "name": "composerHeightPx",
4850
+ "propertyTypeTokenRange": {
4851
+ "startIndex": 1,
4852
+ "endIndex": 2
4853
+ },
4854
+ "isStatic": false,
4855
+ "isProtected": false,
4856
+ "isAbstract": false
4857
+ },
4858
+ {
4859
+ "kind": "Property",
4860
+ "canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#composerHeightStyle:member",
4861
+ "docComment": "/**\n * Inline style for the chat input: writes the chosen height into the `--composer-height` custom property (read by `.chat-input` + its control in `main.styles.ts`). Empty until the user drags (or when resizing is disabled), so the default applies.\n */\n",
4862
+ "excerptTokens": [
4863
+ {
4864
+ "kind": "Content",
4865
+ "text": "get composerHeightStyle(): "
4866
+ },
4867
+ {
4868
+ "kind": "Content",
4869
+ "text": "string"
4870
+ },
4871
+ {
4872
+ "kind": "Content",
4873
+ "text": ";"
4874
+ }
4875
+ ],
4876
+ "isReadonly": true,
4877
+ "isOptional": false,
4878
+ "releaseTag": "Beta",
4879
+ "name": "composerHeightStyle",
4880
+ "propertyTypeTokenRange": {
4881
+ "startIndex": 1,
4882
+ "endIndex": 2
4883
+ },
4884
+ "isStatic": false,
4885
+ "isProtected": false,
4886
+ "isAbstract": false
4887
+ },
4767
4888
  {
4768
4889
  "kind": "Property",
4769
4890
  "canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#composerHiddenByConfig:member",
@@ -5237,7 +5358,7 @@
5237
5358
  },
5238
5359
  {
5239
5360
  "kind": "Content",
5240
- "text": ";\n thinking?: boolean;\n agentName?: string;\n agentLabel?: string;\n inputTokens?: number;\n outputTokens?: number;\n cost?: number;\n responseMeta?: import(\"@genesislcap/foundation-ai\")."
5361
+ "text": ";\n thinking?: boolean;\n agentName?: string;\n agentLabel?: string;\n inputTokens?: number;\n outputTokens?: number;\n cost?: number;\n externalCostUsd?: number;\n responseMeta?: import(\"@genesislcap/foundation-ai\")."
5241
5362
  },
5242
5363
  {
5243
5364
  "kind": "Reference",
@@ -5880,6 +6001,36 @@
5880
6001
  "isProtected": false,
5881
6002
  "isAbstract": false
5882
6003
  },
6004
+ {
6005
+ "kind": "Property",
6006
+ "canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#isComposerResizable:member",
6007
+ "docComment": "/**\n * Whether the message input shows a drag handle to resize its height. On by default; hosts opt out via `chatConfig.ui.resizableInput: false`.\n */\n",
6008
+ "excerptTokens": [
6009
+ {
6010
+ "kind": "Content",
6011
+ "text": "get isComposerResizable(): "
6012
+ },
6013
+ {
6014
+ "kind": "Content",
6015
+ "text": "boolean"
6016
+ },
6017
+ {
6018
+ "kind": "Content",
6019
+ "text": ";"
6020
+ }
6021
+ ],
6022
+ "isReadonly": true,
6023
+ "isOptional": false,
6024
+ "releaseTag": "Beta",
6025
+ "name": "isComposerResizable",
6026
+ "propertyTypeTokenRange": {
6027
+ "startIndex": 1,
6028
+ "endIndex": 2
6029
+ },
6030
+ "isStatic": false,
6031
+ "isProtected": false,
6032
+ "isAbstract": false
6033
+ },
5883
6034
  {
5884
6035
  "kind": "Property",
5885
6036
  "canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#isEngaged:member",
@@ -6108,6 +6259,153 @@
6108
6259
  "isAbstract": false,
6109
6260
  "name": "onChatHeaderMouseDown"
6110
6261
  },
6262
+ {
6263
+ "kind": "Method",
6264
+ "canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#onComposerResizeEnd:member(1)",
6265
+ "docComment": "/**\n * End a resize drag and release the pointer capture.\n */\n",
6266
+ "excerptTokens": [
6267
+ {
6268
+ "kind": "Content",
6269
+ "text": "onComposerResizeEnd(e: "
6270
+ },
6271
+ {
6272
+ "kind": "Reference",
6273
+ "text": "PointerEvent",
6274
+ "canonicalReference": "!PointerEvent:interface"
6275
+ },
6276
+ {
6277
+ "kind": "Content",
6278
+ "text": "): "
6279
+ },
6280
+ {
6281
+ "kind": "Content",
6282
+ "text": "void"
6283
+ },
6284
+ {
6285
+ "kind": "Content",
6286
+ "text": ";"
6287
+ }
6288
+ ],
6289
+ "isStatic": false,
6290
+ "returnTypeTokenRange": {
6291
+ "startIndex": 3,
6292
+ "endIndex": 4
6293
+ },
6294
+ "releaseTag": "Beta",
6295
+ "isProtected": false,
6296
+ "overloadIndex": 1,
6297
+ "parameters": [
6298
+ {
6299
+ "parameterName": "e",
6300
+ "parameterTypeTokenRange": {
6301
+ "startIndex": 1,
6302
+ "endIndex": 2
6303
+ },
6304
+ "isOptional": false
6305
+ }
6306
+ ],
6307
+ "isOptional": false,
6308
+ "isAbstract": false,
6309
+ "name": "onComposerResizeEnd"
6310
+ },
6311
+ {
6312
+ "kind": "Method",
6313
+ "canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#onComposerResizeMove:member(1)",
6314
+ "docComment": "/**\n * Resize while dragging. Dragging up (clientY decreases) grows the composer; the result is clamped between the natural height (lower) and the available headroom/max (upper). No-op unless a drag is active (the handle holds pointer capture), so plain hover-moves are ignored.\n */\n",
6315
+ "excerptTokens": [
6316
+ {
6317
+ "kind": "Content",
6318
+ "text": "onComposerResizeMove(e: "
6319
+ },
6320
+ {
6321
+ "kind": "Reference",
6322
+ "text": "PointerEvent",
6323
+ "canonicalReference": "!PointerEvent:interface"
6324
+ },
6325
+ {
6326
+ "kind": "Content",
6327
+ "text": "): "
6328
+ },
6329
+ {
6330
+ "kind": "Content",
6331
+ "text": "void"
6332
+ },
6333
+ {
6334
+ "kind": "Content",
6335
+ "text": ";"
6336
+ }
6337
+ ],
6338
+ "isStatic": false,
6339
+ "returnTypeTokenRange": {
6340
+ "startIndex": 3,
6341
+ "endIndex": 4
6342
+ },
6343
+ "releaseTag": "Beta",
6344
+ "isProtected": false,
6345
+ "overloadIndex": 1,
6346
+ "parameters": [
6347
+ {
6348
+ "parameterName": "e",
6349
+ "parameterTypeTokenRange": {
6350
+ "startIndex": 1,
6351
+ "endIndex": 2
6352
+ },
6353
+ "isOptional": false
6354
+ }
6355
+ ],
6356
+ "isOptional": false,
6357
+ "isAbstract": false,
6358
+ "name": "onComposerResizeMove"
6359
+ },
6360
+ {
6361
+ "kind": "Method",
6362
+ "canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#onComposerResizeStart:member(1)",
6363
+ "docComment": "/**\n * Begin a composer resize drag. Captures the pointer so move/up keep firing on the handle even when the cursor leaves its 7px band.\n */\n",
6364
+ "excerptTokens": [
6365
+ {
6366
+ "kind": "Content",
6367
+ "text": "onComposerResizeStart(e: "
6368
+ },
6369
+ {
6370
+ "kind": "Reference",
6371
+ "text": "PointerEvent",
6372
+ "canonicalReference": "!PointerEvent:interface"
6373
+ },
6374
+ {
6375
+ "kind": "Content",
6376
+ "text": "): "
6377
+ },
6378
+ {
6379
+ "kind": "Content",
6380
+ "text": "void"
6381
+ },
6382
+ {
6383
+ "kind": "Content",
6384
+ "text": ";"
6385
+ }
6386
+ ],
6387
+ "isStatic": false,
6388
+ "returnTypeTokenRange": {
6389
+ "startIndex": 3,
6390
+ "endIndex": 4
6391
+ },
6392
+ "releaseTag": "Beta",
6393
+ "isProtected": false,
6394
+ "overloadIndex": 1,
6395
+ "parameters": [
6396
+ {
6397
+ "parameterName": "e",
6398
+ "parameterTypeTokenRange": {
6399
+ "startIndex": 1,
6400
+ "endIndex": 2
6401
+ },
6402
+ "isOptional": false
6403
+ }
6404
+ ],
6405
+ "isOptional": false,
6406
+ "isAbstract": false,
6407
+ "name": "onComposerResizeStart"
6408
+ },
6111
6409
  {
6112
6410
  "kind": "Property",
6113
6411
  "canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#pinLocked:member",
@@ -7248,6 +7546,97 @@
7248
7546
  "isAbstract": false,
7249
7547
  "name": "triggerFileInput"
7250
7548
  },
7549
+ {
7550
+ "kind": "Property",
7551
+ "canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#userIcon:member",
7552
+ "docComment": "/**\n * Inline SVG markup overriding the default user \"person\" avatar. The markup is sanitized (SVG profile) before rendering and uses the avatar's theme colour via `currentColor`. For a raster/photo avatar set `userImageSrc` instead, which takes precedence.\n */\n",
7553
+ "excerptTokens": [
7554
+ {
7555
+ "kind": "Content",
7556
+ "text": "userIcon?: "
7557
+ },
7558
+ {
7559
+ "kind": "Content",
7560
+ "text": "string"
7561
+ },
7562
+ {
7563
+ "kind": "Content",
7564
+ "text": ";"
7565
+ }
7566
+ ],
7567
+ "isReadonly": false,
7568
+ "isOptional": true,
7569
+ "releaseTag": "Beta",
7570
+ "name": "userIcon",
7571
+ "propertyTypeTokenRange": {
7572
+ "startIndex": 1,
7573
+ "endIndex": 2
7574
+ },
7575
+ "isStatic": false,
7576
+ "isProtected": false,
7577
+ "isAbstract": false
7578
+ },
7579
+ {
7580
+ "kind": "Method",
7581
+ "canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#userIconChanged:member(1)",
7582
+ "docComment": "",
7583
+ "excerptTokens": [
7584
+ {
7585
+ "kind": "Content",
7586
+ "text": "protected userIconChanged(): "
7587
+ },
7588
+ {
7589
+ "kind": "Content",
7590
+ "text": "void"
7591
+ },
7592
+ {
7593
+ "kind": "Content",
7594
+ "text": ";"
7595
+ }
7596
+ ],
7597
+ "isStatic": false,
7598
+ "returnTypeTokenRange": {
7599
+ "startIndex": 1,
7600
+ "endIndex": 2
7601
+ },
7602
+ "releaseTag": "Beta",
7603
+ "isProtected": true,
7604
+ "overloadIndex": 1,
7605
+ "parameters": [],
7606
+ "isOptional": false,
7607
+ "isAbstract": false,
7608
+ "name": "userIconChanged"
7609
+ },
7610
+ {
7611
+ "kind": "Property",
7612
+ "canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#userImageSrc:member",
7613
+ "docComment": "",
7614
+ "excerptTokens": [
7615
+ {
7616
+ "kind": "Content",
7617
+ "text": "userImageSrc?: "
7618
+ },
7619
+ {
7620
+ "kind": "Content",
7621
+ "text": "string"
7622
+ },
7623
+ {
7624
+ "kind": "Content",
7625
+ "text": ";"
7626
+ }
7627
+ ],
7628
+ "isReadonly": false,
7629
+ "isOptional": true,
7630
+ "releaseTag": "Beta",
7631
+ "name": "userImageSrc",
7632
+ "propertyTypeTokenRange": {
7633
+ "startIndex": 1,
7634
+ "endIndex": 2
7635
+ },
7636
+ "isStatic": false,
7637
+ "isProtected": false,
7638
+ "isAbstract": false
7639
+ },
7251
7640
  {
7252
7641
  "kind": "Property",
7253
7642
  "canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#visibleMessages:member",
@@ -7585,6 +7974,33 @@
7585
7974
  "endIndex": 2
7586
7975
  }
7587
7976
  },
7977
+ {
7978
+ "kind": "Variable",
7979
+ "canonicalReference": "@genesislcap/ai-assistant!genesisIconSvg:var",
7980
+ "docComment": "/**\n * Genesis G-mark — opt-in assistant avatar (the default before the sparkle mark).\n */\n",
7981
+ "excerptTokens": [
7982
+ {
7983
+ "kind": "Content",
7984
+ "text": "genesisIconSvg = "
7985
+ },
7986
+ {
7987
+ "kind": "Content",
7988
+ "text": "\"<svg viewBox=\\\"-4 0 30 26\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M18.7702 23.0437C18.7702 22.4675 18.8526 21.8089 19.0995 21.3149C19.3465 20.7386 19.6758 20.2447 20.0874 19.833C20.4991 19.4214 20.993 19.0921 21.5693 18.8451C22.1456 18.5982 22.7219 18.5158 23.2981 18.5158H25.9326V11.6828H19.1819V14.3172C19.1819 15.5521 18.6879 16.7047 17.8647 17.5279C17.0414 18.3512 15.8888 18.8451 14.7363 18.9275H6.7507V6.99025H16.4651V0.157227H3.54C2.63442 0.157227 1.72884 0.568855 1.07023 1.22746C0.411628 1.88606 0 2.79165 0 3.77955V22.2205C0 23.1261 0.411628 24.0316 1.07023 24.7726C1.72884 25.4312 2.63442 25.8428 3.54 25.8428H18.7702V23.0437Z\\\" fill=\\\"currentColor\\\"/></svg>\""
7989
+ }
7990
+ ],
7991
+ "fileUrlPath": "src/main/main.ts",
7992
+ "initializerTokenRange": {
7993
+ "startIndex": 1,
7994
+ "endIndex": 2
7995
+ },
7996
+ "isReadonly": true,
7997
+ "releaseTag": "Public",
7998
+ "name": "genesisIconSvg",
7999
+ "variableTypeTokenRange": {
8000
+ "startIndex": 0,
8001
+ "endIndex": 0
8002
+ }
8003
+ },
7588
8004
  {
7589
8005
  "kind": "Function",
7590
8006
  "canonicalReference": "@genesislcap/ai-assistant!getAiPopoutManager:function(1)",
@@ -8622,6 +9038,33 @@
8622
9038
  "endIndex": 0
8623
9039
  }
8624
9040
  },
9041
+ {
9042
+ "kind": "Variable",
9043
+ "canonicalReference": "@genesislcap/ai-assistant!sparkleIconSvg:var",
9044
+ "docComment": "/**\n * Three-star AI \"sparkle\" mark — the conventional AI signifier; default assistant avatar.\n */\n",
9045
+ "excerptTokens": [
9046
+ {
9047
+ "kind": "Content",
9048
+ "text": "sparkleIconSvg = "
9049
+ },
9050
+ {
9051
+ "kind": "Content",
9052
+ "text": "\"<svg viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M9.5 5 C9.5 11.4 11.1 13 17.5 13 C11.1 13 9.5 14.6 9.5 21 C9.5 14.6 7.9 13 1.5 13 C7.9 13 9.5 11.4 9.5 5 Z\\\" fill=\\\"currentColor\\\"/><path d=\\\"M17 2.5 C17 5.7 17.8 6.5 21 6.5 C17.8 6.5 17 7.3 17 10.5 C17 7.3 16.2 6.5 13 6.5 C16.2 6.5 17 5.7 17 2.5 Z\\\" fill=\\\"currentColor\\\"/><path d=\\\"M17.5 15 C17.5 17 18 17.5 20 17.5 C18 17.5 17.5 18 17.5 20 C17.5 18 17 17.5 15 17.5 C17 17.5 17.5 17 17.5 15 Z\\\" fill=\\\"currentColor\\\"/></svg>\""
9053
+ }
9054
+ ],
9055
+ "fileUrlPath": "src/main/main.ts",
9056
+ "initializerTokenRange": {
9057
+ "startIndex": 1,
9058
+ "endIndex": 2
9059
+ },
9060
+ "isReadonly": true,
9061
+ "releaseTag": "Public",
9062
+ "name": "sparkleIconSvg",
9063
+ "variableTypeTokenRange": {
9064
+ "startIndex": 0,
9065
+ "endIndex": 0
9066
+ }
9067
+ },
8625
9068
  {
8626
9069
  "kind": "Interface",
8627
9070
  "canonicalReference": "@genesislcap/ai-assistant!SpecialistAgentConfig:interface",
@@ -10449,6 +10892,33 @@
10449
10892
  }
10450
10893
  ],
10451
10894
  "extendsTokenRanges": []
10895
+ },
10896
+ {
10897
+ "kind": "Variable",
10898
+ "canonicalReference": "@genesislcap/ai-assistant!userIconSvg:var",
10899
+ "docComment": "/**\n * Person silhouette — default user avatar.\n */\n",
10900
+ "excerptTokens": [
10901
+ {
10902
+ "kind": "Content",
10903
+ "text": "userIconSvg = "
10904
+ },
10905
+ {
10906
+ "kind": "Content",
10907
+ "text": "\"<svg viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\\\" fill=\\\"currentColor\\\"/></svg>\""
10908
+ }
10909
+ ],
10910
+ "fileUrlPath": "src/main/main.ts",
10911
+ "initializerTokenRange": {
10912
+ "startIndex": 1,
10913
+ "endIndex": 2
10914
+ },
10915
+ "isReadonly": true,
10916
+ "releaseTag": "Public",
10917
+ "name": "userIconSvg",
10918
+ "variableTypeTokenRange": {
10919
+ "startIndex": 0,
10920
+ "endIndex": 0
10921
+ }
10452
10922
  }
10453
10923
  ]
10454
10924
  }