Skip to content

Commit 89b3e35

Browse files
authored
Move tree-agent plugins to packages (#25659)
This moves the langchain-backed `SharedTreeChatModel` plugin and the SES-backed edit evaluator to seperate packages so that they will not be downloaded by consumers who are not using them. Integration tests that rely on langchain have also moved into the langchain package. This also removes the deprecated `createSemanticAgent` helper and makes some small fixups to tree-agent.
1 parent 4a6e792 commit 89b3e35

File tree

80 files changed

+1567
-610
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+1567
-610
lines changed

PACKAGES.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ The dependencies between layers are enforced by the layer-check command._
105105

106106
| Packages | Layer Dependencies |
107107
| --- | --- |
108-
| - [@fluid-experimental/data-objects](/experimental/framework/data-objects)</br>- [@fluid-experimental/property-changeset](/experimental/PropertyDDS/packages/property-changeset)</br>- [@fluid-experimental/property-common](/experimental/PropertyDDS/packages/property-common)</br>- [@fluid-internal/platform-dependent](/experimental/PropertyDDS/packages/property-common/platform-dependent) (private)</br>- [@fluid-experimental/property-dds](/experimental/PropertyDDS/packages/property-dds)</br>- [@fluid-experimental/property-properties](/experimental/PropertyDDS/packages/property-properties)</br>- [@fluid-experimental/last-edited](/experimental/framework/last-edited)</br>- [@fluidframework/agent-scheduler](/packages/framework/agent-scheduler)</br>- [@fluidframework/ai-collab](/packages/framework/ai-collab)</br>- [@fluidframework/aqueduct](/packages/framework/aqueduct)</br>- [@fluid-experimental/attributor](/packages/framework/attributor)</br>- [@fluidframework/app-insights-logger](/packages/framework/client-logger/app-insights-logger)</br>- [@fluidframework/fluid-telemetry](/packages/framework/client-logger/fluid-telemetry)</br>- [@fluid-experimental/data-object-base](/packages/framework/data-object-base)</br>- [@fluid-experimental/dds-interceptions](/packages/framework/dds-interceptions)</br>- [@fluidframework/fluid-static](/packages/framework/fluid-static)</br>- [@fluid-experimental/oldest-client-observer](/packages/framework/oldest-client-observer)</br>- [@fluidframework/presence](/packages/framework/presence)</br>- [@fluidframework/react](/packages/framework/react)</br>- [@fluidframework/request-handler](/packages/framework/request-handler)</br>- [@fluidframework/synthesize](/packages/framework/synthesize)</br>- [@fluidframework/tree-agent](/packages/framework/tree-agent)</br>- [@fluidframework/undo-redo](/packages/framework/undo-redo) | - [Core-Interfaces](#Core-Interfaces)</br>- [Driver-Definitions](#Driver-Definitions)</br>- [Container-Definitions](#Container-Definitions)</br>- [Core-Utils](#Core-Utils)</br>- [Client-Utils](#Client-Utils)</br>- [Telemetry-Utils](#Telemetry-Utils)</br>- [Loader](#Loader)</br>- [Runtime](#Runtime)</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp; |
108+
| - [@fluid-experimental/data-objects](/experimental/framework/data-objects)</br>- [@fluid-experimental/property-changeset](/experimental/PropertyDDS/packages/property-changeset)</br>- [@fluid-experimental/property-common](/experimental/PropertyDDS/packages/property-common)</br>- [@fluid-internal/platform-dependent](/experimental/PropertyDDS/packages/property-common/platform-dependent) (private)</br>- [@fluid-experimental/property-dds](/experimental/PropertyDDS/packages/property-dds)</br>- [@fluid-experimental/property-properties](/experimental/PropertyDDS/packages/property-properties)</br>- [@fluid-experimental/last-edited](/experimental/framework/last-edited)</br>- [@fluidframework/agent-scheduler](/packages/framework/agent-scheduler)</br>- [@fluidframework/ai-collab](/packages/framework/ai-collab)</br>- [@fluidframework/aqueduct](/packages/framework/aqueduct)</br>- [@fluid-experimental/attributor](/packages/framework/attributor)</br>- [@fluidframework/app-insights-logger](/packages/framework/client-logger/app-insights-logger)</br>- [@fluidframework/fluid-telemetry](/packages/framework/client-logger/fluid-telemetry)</br>- [@fluid-experimental/data-object-base](/packages/framework/data-object-base)</br>- [@fluid-experimental/dds-interceptions](/packages/framework/dds-interceptions)</br>- [@fluidframework/fluid-static](/packages/framework/fluid-static)</br>- [@fluid-experimental/oldest-client-observer](/packages/framework/oldest-client-observer)</br>- [@fluidframework/presence](/packages/framework/presence)</br>- [@fluidframework/react](/packages/framework/react)</br>- [@fluidframework/request-handler](/packages/framework/request-handler)</br>- [@fluidframework/synthesize](/packages/framework/synthesize)</br>- [@fluidframework/tree-agent](/packages/framework/tree-agent)</br>- [@fluidframework/tree-agent-langchain](/packages/framework/tree-agent-langchain)</br>- [@fluidframework/tree-agent-ses](/packages/framework/tree-agent-ses)</br>- [@fluidframework/undo-redo](/packages/framework/undo-redo) | - [Core-Interfaces](#Core-Interfaces)</br>- [Driver-Definitions](#Driver-Definitions)</br>- [Container-Definitions](#Container-Definitions)</br>- [Core-Utils](#Core-Utils)</br>- [Client-Utils](#Client-Utils)</br>- [Telemetry-Utils](#Telemetry-Utils)</br>- [Loader](#Loader)</br>- [Runtime](#Runtime)</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp;</br>&nbsp; |
109109

110110
### Build
111111

feeds/internal-build.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
@fluidframework/driver-utils
2626
@fluidframework/container-loader
2727
@fluidframework/undo-redo
28+
@fluidframework/tree-agent-ses
29+
@fluidframework/tree-agent-langchain
2830
@fluidframework/tree-agent
2931
@fluidframework/synthesize
3032
@fluidframework/request-handler

feeds/internal-test.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
@fluidframework/driver-utils
3232
@fluidframework/container-loader
3333
@fluidframework/undo-redo
34+
@fluidframework/tree-agent-ses
35+
@fluidframework/tree-agent-langchain
3436
@fluidframework/tree-agent
3537
@fluidframework/synthesize
3638
@fluidframework/request-handler

feeds/public.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
@fluidframework/driver-utils
2525
@fluidframework/container-loader
2626
@fluidframework/undo-redo
27+
@fluidframework/tree-agent-ses
28+
@fluidframework/tree-agent-langchain
2729
@fluidframework/tree-agent
2830
@fluidframework/synthesize
2931
@fluidframework/request-handler
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
/*!
2+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3+
* Licensed under the MIT License.
4+
*/
5+
6+
module.exports = {
7+
extends: [require.resolve("@fluidframework/eslint-config-fluid/strict"), "prettier"],
8+
parserOptions: {
9+
project: ["./tsconfig.json"],
10+
},
11+
rules: {
12+
// Allow reaching into FluidFramework package paths that end with alpha, beta, legacy, or internal
13+
"import/no-internal-modules": [
14+
"error",
15+
{
16+
allow: [
17+
"@fluidframework/*/alpha",
18+
"@fluidframework/*/beta",
19+
"@fluidframework/*/legacy",
20+
"@fluidframework/*/internal",
21+
],
22+
},
23+
],
24+
},
25+
overrides: [
26+
{
27+
files: ["src/test/**/*"],
28+
parserOptions: {
29+
project: ["./src/test/tsconfig.json"],
30+
},
31+
rules: {
32+
// Test files can import from submodules for testing purposes
33+
"import/no-internal-modules": [
34+
"error",
35+
{
36+
allow: [
37+
"*/index.js",
38+
"@fluidframework/*/alpha",
39+
"@fluidframework/*/beta",
40+
"@fluidframework/*/legacy",
41+
"@fluidframework/*/internal",
42+
],
43+
},
44+
],
45+
// Allow unresolved for intentionally reaching into alpha/internal of other packages during integration tests
46+
"import/no-unresolved": "off",
47+
"@typescript-eslint/no-unsafe-assignment": "off",
48+
"@typescript-eslint/no-unsafe-call": "off",
49+
"@typescript-eslint/no-unsafe-member-access": "off",
50+
"@typescript-eslint/no-unsafe-return": "off",
51+
"@typescript-eslint/no-unsafe-argument": "off",
52+
"@typescript-eslint/strict-boolean-expressions": "off",
53+
},
54+
},
55+
],
56+
};
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/*!
2+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3+
* Licensed under the MIT License.
4+
*/
5+
6+
"use strict";
7+
8+
const getFluidTestMochaConfig = require("@fluid-internal/mocha-test-setup/mocharc-common");
9+
10+
// Reuse shared Fluid test mocha config for this package
11+
const config = getFluidTestMochaConfig(__dirname);
12+
module.exports = config;
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
nyc
2+
*.log
3+
**/*.tsbuildinfo
4+
src/test
5+
dist/test
6+
lib/test
7+
**/_api-extractor-temp/**
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"recommendations": ["hbenl.vscode-mocha-test-adapter"],
3+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"search.exclude": {
3+
"**/node_modules": true,
4+
"**/dist": true,
5+
"**/lib": true,
6+
},
7+
"mochaExplorer.files": ["dist/test/**/*.*js"],
8+
"mochaExplorer.require": [
9+
"node_modules/@fluid-internal/mocha-test-setup",
10+
"source-map-support/register",
11+
],
12+
"mochaExplorer.configFile": ".mocharc.cjs",
13+
"mochaExplorer.timeout": 999999,
14+
"mochaExplorer.nodeArgv": ["--conditions", "allow-ff-test-exports"],
15+
"cSpell.words": ["fluidframework"],
16+
"editor.defaultFormatter": "biomejs.biome",
17+
"editor.insertSpaces": false,
18+
"[json]": { "editor.defaultFormatter": "biomejs.biome" },
19+
"[javascript]": { "editor.defaultFormatter": "biomejs.biome" },
20+
"[typescript]": { "editor.defaultFormatter": "biomejs.biome" },
21+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"folders": [
3+
{
4+
"name": "FluidFramework",
5+
"path": "../../../../"
6+
},
7+
{
8+
"name": "@fluidframework/tree-agent-langchain",
9+
"path": ".."
10+
}
11+
],
12+
"settings": {
13+
"search.followSymlinks": false,
14+
"typescript.preferences.autoImportFileExcludePatterns": [
15+
"**/node_modules/**/@fluid*/*-previous",
16+
"**/node_modules/**/@fluid*/*-previous/*"
17+
],
18+
"typescript.preferences.importModuleSpecifier": "project-relative",
19+
"typescript.preferences.preferTypeOnlyAutoImports": true,
20+
"typescript.tsdk": "FluidFramework\\node_modules\\typescript\\lib"
21+
}
22+
}

0 commit comments

Comments
 (0)