@soederpop/luca 0.0.31 → 0.0.34

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 (86) hide show
  1. package/README.md +241 -36
  2. package/bun.lock +24 -5
  3. package/commands/build-python-bridge.ts +43 -0
  4. package/docs/apis/clients/rest.md +7 -7
  5. package/docs/apis/clients/websocket.md +23 -10
  6. package/docs/apis/features/agi/assistant.md +155 -8
  7. package/docs/apis/features/agi/assistants-manager.md +90 -22
  8. package/docs/apis/features/agi/auto-assistant.md +377 -0
  9. package/docs/apis/features/agi/browser-use.md +802 -0
  10. package/docs/apis/features/agi/claude-code.md +6 -1
  11. package/docs/apis/features/agi/conversation-history.md +7 -6
  12. package/docs/apis/features/agi/conversation.md +111 -38
  13. package/docs/apis/features/agi/docs-reader.md +35 -57
  14. package/docs/apis/features/agi/file-tools.md +163 -0
  15. package/docs/apis/features/agi/openapi.md +2 -2
  16. package/docs/apis/features/agi/skills-library.md +227 -0
  17. package/docs/apis/features/node/content-db.md +125 -4
  18. package/docs/apis/features/node/disk-cache.md +11 -11
  19. package/docs/apis/features/node/downloader.md +1 -1
  20. package/docs/apis/features/node/file-manager.md +15 -15
  21. package/docs/apis/features/node/fs.md +78 -21
  22. package/docs/apis/features/node/git.md +50 -10
  23. package/docs/apis/features/node/google-calendar.md +3 -0
  24. package/docs/apis/features/node/google-docs.md +10 -1
  25. package/docs/apis/features/node/google-drive.md +3 -0
  26. package/docs/apis/features/node/google-mail.md +214 -0
  27. package/docs/apis/features/node/google-sheets.md +3 -0
  28. package/docs/apis/features/node/ink.md +10 -10
  29. package/docs/apis/features/node/ipc-socket.md +83 -93
  30. package/docs/apis/features/node/networking.md +5 -5
  31. package/docs/apis/features/node/os.md +7 -7
  32. package/docs/apis/features/node/package-finder.md +14 -14
  33. package/docs/apis/features/node/proc.md +2 -1
  34. package/docs/apis/features/node/process-manager.md +70 -3
  35. package/docs/apis/features/node/python.md +265 -9
  36. package/docs/apis/features/node/redis.md +380 -0
  37. package/docs/apis/features/node/ui.md +13 -13
  38. package/docs/apis/servers/express.md +35 -7
  39. package/docs/apis/servers/mcp.md +3 -3
  40. package/docs/apis/servers/websocket.md +51 -8
  41. package/docs/bootstrap/CLAUDE.md +1 -1
  42. package/docs/bootstrap/SKILL.md +93 -7
  43. package/docs/examples/feature-as-tool-provider.md +143 -0
  44. package/docs/examples/python.md +42 -1
  45. package/docs/introspection.md +15 -5
  46. package/docs/tutorials/00-bootstrap.md +3 -3
  47. package/docs/tutorials/02-container.md +2 -2
  48. package/docs/tutorials/10-creating-features.md +5 -0
  49. package/docs/tutorials/13-introspection.md +12 -2
  50. package/docs/tutorials/19-python-sessions.md +401 -0
  51. package/package.json +8 -4
  52. package/src/agi/container.server.ts +8 -0
  53. package/src/agi/features/assistant.ts +19 -0
  54. package/src/agi/features/autonomous-assistant.ts +435 -0
  55. package/src/agi/features/conversation.ts +58 -6
  56. package/src/agi/features/file-tools.ts +286 -0
  57. package/src/agi/features/luca-coder.ts +643 -0
  58. package/src/bootstrap/generated.ts +705 -17
  59. package/src/cli/build-info.ts +2 -2
  60. package/src/cli/cli.ts +22 -13
  61. package/src/commands/bootstrap.ts +49 -6
  62. package/src/commands/code.ts +369 -0
  63. package/src/commands/describe.ts +7 -2
  64. package/src/commands/index.ts +1 -0
  65. package/src/commands/sandbox-mcp.ts +7 -7
  66. package/src/commands/save-api-docs.ts +1 -1
  67. package/src/container-describer.ts +4 -4
  68. package/src/container.ts +10 -19
  69. package/src/helper.ts +24 -33
  70. package/src/introspection/generated.agi.ts +2499 -63
  71. package/src/introspection/generated.node.ts +1625 -688
  72. package/src/introspection/generated.web.ts +15 -57
  73. package/src/node/container.ts +5 -0
  74. package/src/node/features/figlet-fonts.ts +597 -0
  75. package/src/node/features/fs.ts +3 -9
  76. package/src/node/features/helpers.ts +20 -0
  77. package/src/node/features/python.ts +429 -16
  78. package/src/node/features/redis.ts +446 -0
  79. package/src/node/features/ui.ts +4 -11
  80. package/src/python/bridge.py +220 -0
  81. package/src/python/generated.ts +227 -0
  82. package/src/scaffolds/generated.ts +1 -1
  83. package/test/python-session.test.ts +105 -0
  84. package/assistants/lucaExpert/CORE.md +0 -37
  85. package/assistants/lucaExpert/hooks.ts +0 -9
  86. package/assistants/lucaExpert/tools.ts +0 -177
@@ -1,7 +1,7 @@
1
1
  import { setBuildTimeData, setContainerBuildTimeData } from './index.js';
2
2
 
3
3
  // Auto-generated introspection registry data
4
- // Generated at: 2026-03-24T09:08:05.900Z
4
+ // Generated at: 2026-03-26T03:30:20.477Z
5
5
 
6
6
  setBuildTimeData('features.containerLink', {
7
7
  "id": "features.containerLink",
@@ -890,7 +890,7 @@ setContainerBuildTimeData('Container', {
890
890
  }
891
891
  ]
892
892
  },
893
- "inspect": {
893
+ "introspect": {
894
894
  "description": "Returns a full introspection object for this container, merging build-time AST data (JSDoc descriptions, methods, getters) with runtime data (registries, factories, state, environment).",
895
895
  "parameters": {},
896
896
  "required": [],
@@ -898,11 +898,11 @@ setContainerBuildTimeData('Container', {
898
898
  "examples": [
899
899
  {
900
900
  "language": "ts",
901
- "code": "const info = container.inspect()\nconsole.log(info.methods) // all public methods with descriptions\nconsole.log(info.getters) // all getters with return types\nconsole.log(info.registries) // features, clients, servers, etc."
901
+ "code": "const info = container.introspect()\nconsole.log(info.methods) // all public methods with descriptions\nconsole.log(info.getters) // all getters with return types\nconsole.log(info.registries) // features, clients, servers, etc."
902
902
  }
903
903
  ]
904
904
  },
905
- "inspectAsText": {
905
+ "introspectAsText": {
906
906
  "description": "Returns a human-readable markdown representation of this container's introspection data. Useful in REPLs, AI agent contexts, or documentation generation. Pass a section name to render only that section (e.g. 'methods', 'getters', 'events', 'state').",
907
907
  "parameters": {
908
908
  "sectionOrDepth": {
@@ -919,32 +919,17 @@ setContainerBuildTimeData('Container', {
919
919
  "examples": [
920
920
  {
921
921
  "language": "ts",
922
- "code": "console.log(container.inspectAsText()) // full description\nconsole.log(container.inspectAsText('methods')) // just methods"
922
+ "code": "console.log(container.introspectAsText()) // full description\nconsole.log(container.introspectAsText('methods')) // just methods"
923
923
  }
924
924
  ]
925
925
  },
926
- "introspectAsText": {
927
- "description": "Alias for inspectAsText.",
928
- "parameters": {
929
- "sectionOrDepth": {
930
- "type": "IntrospectionSection | number",
931
- "description": "Parameter sectionOrDepth"
932
- },
933
- "startHeadingDepth": {
934
- "type": "number",
935
- "description": "Parameter startHeadingDepth"
936
- }
937
- },
938
- "required": [],
939
- "returns": "string"
940
- },
941
926
  "introspectAsJSON": {
942
- "description": "Alias for inspect, returns JSON introspection data.",
927
+ "description": "Returns JSON introspection data.",
943
928
  "parameters": {},
944
929
  "required": [],
945
930
  "returns": "ContainerIntrospection"
946
931
  },
947
- "inspectAsType": {
932
+ "introspectAsType": {
948
933
  "description": "Returns the container's introspection data formatted as a TypeScript interface declaration. Includes the container's own methods, getters, factories, and registered helper types.",
949
934
  "parameters": {},
950
935
  "required": [],
@@ -952,16 +937,10 @@ setContainerBuildTimeData('Container', {
952
937
  "examples": [
953
938
  {
954
939
  "language": "ts",
955
- "code": "console.log(container.inspectAsType())\n// interface NodeContainer {\n// feature<T>(id: string, options?: object): T;\n// readonly uuid: string;\n// ...\n// }"
940
+ "code": "console.log(container.introspectAsType())\n// interface NodeContainer {\n// feature<T>(id: string, options?: object): T;\n// readonly uuid: string;\n// ...\n// }"
956
941
  }
957
942
  ]
958
943
  },
959
- "introspectAsType": {
960
- "description": "",
961
- "parameters": {},
962
- "required": [],
963
- "returns": "string"
964
- },
965
944
  "sleep": {
966
945
  "description": "Sleep for the specified number of milliseconds. Useful for scripting and sequencing.",
967
946
  "parameters": {
@@ -1985,7 +1964,7 @@ export const containerIntrospectionData = [
1985
1964
  }
1986
1965
  ]
1987
1966
  },
1988
- "inspect": {
1967
+ "introspect": {
1989
1968
  "description": "Returns a full introspection object for this container, merging build-time AST data (JSDoc descriptions, methods, getters) with runtime data (registries, factories, state, environment).",
1990
1969
  "parameters": {},
1991
1970
  "required": [],
@@ -1993,11 +1972,11 @@ export const containerIntrospectionData = [
1993
1972
  "examples": [
1994
1973
  {
1995
1974
  "language": "ts",
1996
- "code": "const info = container.inspect()\nconsole.log(info.methods) // all public methods with descriptions\nconsole.log(info.getters) // all getters with return types\nconsole.log(info.registries) // features, clients, servers, etc."
1975
+ "code": "const info = container.introspect()\nconsole.log(info.methods) // all public methods with descriptions\nconsole.log(info.getters) // all getters with return types\nconsole.log(info.registries) // features, clients, servers, etc."
1997
1976
  }
1998
1977
  ]
1999
1978
  },
2000
- "inspectAsText": {
1979
+ "introspectAsText": {
2001
1980
  "description": "Returns a human-readable markdown representation of this container's introspection data. Useful in REPLs, AI agent contexts, or documentation generation. Pass a section name to render only that section (e.g. 'methods', 'getters', 'events', 'state').",
2002
1981
  "parameters": {
2003
1982
  "sectionOrDepth": {
@@ -2014,32 +1993,17 @@ export const containerIntrospectionData = [
2014
1993
  "examples": [
2015
1994
  {
2016
1995
  "language": "ts",
2017
- "code": "console.log(container.inspectAsText()) // full description\nconsole.log(container.inspectAsText('methods')) // just methods"
1996
+ "code": "console.log(container.introspectAsText()) // full description\nconsole.log(container.introspectAsText('methods')) // just methods"
2018
1997
  }
2019
1998
  ]
2020
1999
  },
2021
- "introspectAsText": {
2022
- "description": "Alias for inspectAsText.",
2023
- "parameters": {
2024
- "sectionOrDepth": {
2025
- "type": "IntrospectionSection | number",
2026
- "description": "Parameter sectionOrDepth"
2027
- },
2028
- "startHeadingDepth": {
2029
- "type": "number",
2030
- "description": "Parameter startHeadingDepth"
2031
- }
2032
- },
2033
- "required": [],
2034
- "returns": "string"
2035
- },
2036
2000
  "introspectAsJSON": {
2037
- "description": "Alias for inspect, returns JSON introspection data.",
2001
+ "description": "Returns JSON introspection data.",
2038
2002
  "parameters": {},
2039
2003
  "required": [],
2040
2004
  "returns": "ContainerIntrospection"
2041
2005
  },
2042
- "inspectAsType": {
2006
+ "introspectAsType": {
2043
2007
  "description": "Returns the container's introspection data formatted as a TypeScript interface declaration. Includes the container's own methods, getters, factories, and registered helper types.",
2044
2008
  "parameters": {},
2045
2009
  "required": [],
@@ -2047,16 +2011,10 @@ export const containerIntrospectionData = [
2047
2011
  "examples": [
2048
2012
  {
2049
2013
  "language": "ts",
2050
- "code": "console.log(container.inspectAsType())\n// interface NodeContainer {\n// feature<T>(id: string, options?: object): T;\n// readonly uuid: string;\n// ...\n// }"
2014
+ "code": "console.log(container.introspectAsType())\n// interface NodeContainer {\n// feature<T>(id: string, options?: object): T;\n// readonly uuid: string;\n// ...\n// }"
2051
2015
  }
2052
2016
  ]
2053
2017
  },
2054
- "introspectAsType": {
2055
- "description": "",
2056
- "parameters": {},
2057
- "required": [],
2058
- "returns": "string"
2059
- },
2060
2018
  "sleep": {
2061
2019
  "description": "Sleep for the specified number of milliseconds. Useful for scripting and sequencing.",
2062
2020
  "parameters": {
@@ -64,6 +64,7 @@ import "./features/helpers";
64
64
  import "./features/container-link";
65
65
  import "./features/semantic-search";
66
66
  import "./features/dns";
67
+ import "./features/redis";
67
68
 
68
69
  import type { ChildProcess } from "./features/proc";
69
70
  import type { DiskCache } from "./features/disk-cache";
@@ -108,6 +109,7 @@ import type { Helpers } from './features/helpers';
108
109
  import type { ContainerLink } from './features/container-link';
109
110
  import type { SemanticSearch } from './features/semantic-search';
110
111
  import type { Dns } from './features/dns';
112
+ import type { Redis } from './features/redis';
111
113
  export { State };
112
114
 
113
115
  export {
@@ -147,6 +149,7 @@ export {
147
149
  type ContainerLink,
148
150
  type SemanticSearch,
149
151
  type Dns,
152
+ type Redis,
150
153
  };
151
154
 
152
155
  export type { FeatureOptions };
@@ -212,6 +215,7 @@ export interface NodeFeatures extends AvailableFeatures {
212
215
  containerLink: typeof ContainerLink;
213
216
  semanticSearch: typeof SemanticSearch;
214
217
  dns: typeof Dns;
218
+ redis: typeof Redis;
215
219
  }
216
220
 
217
221
  export type ClientsAndServersInterface = ClientsInterface & ServersInterface & CommandsInterface & EndpointsInterface & SelectorsInterface;
@@ -295,6 +299,7 @@ export class NodeContainer<
295
299
  tts?: TTS;
296
300
  helpers!: Helpers;
297
301
  containerLink?: ContainerLink;
302
+ redis?: Redis;
298
303
 
299
304
  constructor(options: any = {}) {
300
305
  super({ cwd: process.cwd(), ...argv, ...options });