@gt-fe/eap-sdk 0.1.13 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/README.md +452 -376
  2. package/dist/lockfile/resolve-dependencies.d.ts +1 -0
  3. package/dist/lockfile/resolve-dependencies.d.ts.map +1 -1
  4. package/dist/lockfile/resolve-dependencies.js +3 -0
  5. package/dist/lockfile/resolve-dependencies.js.map +1 -1
  6. package/dist/materialization/copy-resource-directory.d.ts +1 -0
  7. package/dist/materialization/copy-resource-directory.d.ts.map +1 -1
  8. package/dist/materialization/copy-resource-directory.js +38 -1
  9. package/dist/materialization/copy-resource-directory.js.map +1 -1
  10. package/dist/materialization/index.d.ts +1 -1
  11. package/dist/materialization/index.d.ts.map +1 -1
  12. package/dist/materialization/index.js +1 -1
  13. package/dist/materialization/index.js.map +1 -1
  14. package/dist/materialization/load-agent-runtime.d.ts +19 -0
  15. package/dist/materialization/load-agent-runtime.d.ts.map +1 -0
  16. package/dist/materialization/load-agent-runtime.js +128 -0
  17. package/dist/materialization/load-agent-runtime.js.map +1 -0
  18. package/dist/materialization/prepare-agent-runtime.d.ts +6 -0
  19. package/dist/materialization/prepare-agent-runtime.d.ts.map +1 -1
  20. package/dist/materialization/prepare-agent-runtime.js +108 -46
  21. package/dist/materialization/prepare-agent-runtime.js.map +1 -1
  22. package/dist/materialization/types.d.ts +0 -2
  23. package/dist/materialization/types.d.ts.map +1 -1
  24. package/dist/packaging/package-agent-project.d.ts.map +1 -1
  25. package/dist/packaging/package-agent-project.js +2 -4
  26. package/dist/packaging/package-agent-project.js.map +1 -1
  27. package/dist/packaging/read-package.d.ts.map +1 -1
  28. package/dist/packaging/read-package.js +20 -1
  29. package/dist/packaging/read-package.js.map +1 -1
  30. package/dist/platform/client.d.ts.map +1 -1
  31. package/dist/platform/client.js +13 -2
  32. package/dist/platform/client.js.map +1 -1
  33. package/dist/platform/types.d.ts +2 -0
  34. package/dist/platform/types.d.ts.map +1 -1
  35. package/dist/project/agent-project.d.ts.map +1 -1
  36. package/dist/project/agent-project.js +10 -0
  37. package/dist/project/agent-project.js.map +1 -1
  38. package/dist/resources/configured-local-resources.d.ts +15 -0
  39. package/dist/resources/configured-local-resources.d.ts.map +1 -0
  40. package/dist/resources/configured-local-resources.js +75 -0
  41. package/dist/resources/configured-local-resources.js.map +1 -0
  42. package/dist/resources/install-agent-dependencies.d.ts.map +1 -1
  43. package/dist/resources/install-agent-dependencies.js +7 -2
  44. package/dist/resources/install-agent-dependencies.js.map +1 -1
  45. package/dist/schema/agent/manifest.d.ts +832 -197
  46. package/dist/schema/agent/manifest.d.ts.map +1 -1
  47. package/dist/schema/graph.d.ts +1295 -403
  48. package/dist/schema/graph.d.ts.map +1 -1
  49. package/dist/schema/graph.js +29 -16
  50. package/dist/schema/graph.js.map +1 -1
  51. package/dist/schema/lockfile.d.ts +30 -30
  52. package/dist/schema/project-config.d.ts +6 -0
  53. package/dist/schema/project-config.d.ts.map +1 -1
  54. package/dist/schema/project-config.js +4 -0
  55. package/dist/schema/project-config.js.map +1 -1
  56. package/dist/service/create-agent.d.ts +8 -0
  57. package/dist/service/create-agent.d.ts.map +1 -0
  58. package/dist/service/create-agent.js +338 -0
  59. package/dist/service/create-agent.js.map +1 -0
  60. package/dist/service/events.d.ts +14 -45
  61. package/dist/service/events.d.ts.map +1 -1
  62. package/dist/service/events.js +46 -1
  63. package/dist/service/events.js.map +1 -1
  64. package/dist/service/index.d.ts +5 -2
  65. package/dist/service/index.d.ts.map +1 -1
  66. package/dist/service/index.js +4 -1
  67. package/dist/service/index.js.map +1 -1
  68. package/dist/service/messages.d.ts +13 -0
  69. package/dist/service/messages.d.ts.map +1 -0
  70. package/dist/service/messages.js +24 -0
  71. package/dist/service/messages.js.map +1 -0
  72. package/dist/service/resources.d.ts +86 -0
  73. package/dist/service/resources.d.ts.map +1 -0
  74. package/dist/service/resources.js +26 -0
  75. package/dist/service/resources.js.map +1 -0
  76. package/dist/service/runtime-adapter.d.ts.map +1 -1
  77. package/dist/service/runtime-adapter.js +26 -2
  78. package/dist/service/runtime-adapter.js.map +1 -1
  79. package/dist/service/sessions.d.ts +33 -0
  80. package/dist/service/sessions.d.ts.map +1 -0
  81. package/dist/service/sessions.js +67 -0
  82. package/dist/service/sessions.js.map +1 -0
  83. package/dist/service/types.d.ts +121 -32
  84. package/dist/service/types.d.ts.map +1 -1
  85. package/dist/validation/validate-agent-project.d.ts.map +1 -1
  86. package/dist/validation/validate-agent-project.js +31 -17
  87. package/dist/validation/validate-agent-project.js.map +1 -1
  88. package/package.json +4 -4
  89. package/dist/materialization/sync-author-resources.d.ts +0 -21
  90. package/dist/materialization/sync-author-resources.d.ts.map +0 -1
  91. package/dist/materialization/sync-author-resources.js +0 -98
  92. package/dist/materialization/sync-author-resources.js.map +0 -1
  93. package/dist/service/create-agent-service.d.ts +0 -12
  94. package/dist/service/create-agent-service.d.ts.map +0 -1
  95. package/dist/service/create-agent-service.js +0 -283
  96. package/dist/service/create-agent-service.js.map +0 -1
  97. package/dist/service/http-server.d.ts +0 -4
  98. package/dist/service/http-server.d.ts.map +0 -1
  99. package/dist/service/http-server.js +0 -89
  100. package/dist/service/http-server.js.map +0 -1
@@ -0,0 +1,86 @@
1
+ export type ResourceKind = 'tool' | 'skill';
2
+ export type ResourceSource = 'bundled' | 'remote';
3
+ export interface ResourceRef {
4
+ kind: ResourceKind;
5
+ code: string;
6
+ version: string;
7
+ }
8
+ export interface ResourceQuery {
9
+ kind?: ResourceKind;
10
+ code?: string;
11
+ source?: ResourceSource;
12
+ desiredState?: 'enabled' | 'disabled' | 'uninstalled';
13
+ effectiveState?: 'enabled' | 'disabled' | 'uninstalled' | 'pending';
14
+ }
15
+ export interface ResourceError {
16
+ code: string;
17
+ message: string;
18
+ }
19
+ export interface AgentResourceState extends ResourceRef {
20
+ source: ResourceSource;
21
+ name?: string;
22
+ digest: string;
23
+ desiredState: 'enabled' | 'disabled' | 'uninstalled';
24
+ effectiveState: 'enabled' | 'disabled' | 'uninstalled' | 'pending';
25
+ loadedAt?: string;
26
+ revision: string;
27
+ error?: ResourceError;
28
+ }
29
+ export interface ResourceCatalogItem extends ResourceRef {
30
+ name: string;
31
+ digest: string;
32
+ description?: string;
33
+ installed: boolean;
34
+ enabled?: boolean;
35
+ }
36
+ export interface ResourceMutationOptions {
37
+ expectedRevision?: string;
38
+ idempotencyKey?: string;
39
+ }
40
+ export interface ResourceActivationOptions extends ResourceMutationOptions {
41
+ }
42
+ export interface InstallResourceRequest extends ResourceMutationOptions {
43
+ ref: ResourceRef;
44
+ enabled?: boolean;
45
+ }
46
+ export interface RefreshResourceRequest extends ResourceMutationOptions {
47
+ ref?: ResourceRef;
48
+ kind?: ResourceKind;
49
+ code?: string;
50
+ }
51
+ export interface ResourceApplyOptions {
52
+ resources?: ResourceRef[];
53
+ /** Set false to only materialize desired state without reloading the Agent. */
54
+ reload?: boolean;
55
+ }
56
+ export interface ResourceChangeResult {
57
+ ref: ResourceRef;
58
+ status: 'pending' | 'effective' | 'failed';
59
+ desiredRevision: string;
60
+ effectiveRevision?: string;
61
+ requiresReload: boolean;
62
+ error?: ResourceError;
63
+ }
64
+ /**
65
+ * Adapter owned by the embedding host. The SDK intentionally stores no
66
+ * resource database and never writes CLI manifest or lock files for it.
67
+ */
68
+ export interface AgentResourceManager {
69
+ listMarket(query?: ResourceQuery): Promise<ResourceCatalogItem[]>;
70
+ listInstalled(query?: ResourceQuery): Promise<AgentResourceState[]>;
71
+ get(ref: ResourceRef): Promise<AgentResourceState | null>;
72
+ install(request: InstallResourceRequest): Promise<ResourceChangeResult>;
73
+ uninstall(ref: ResourceRef, options?: ResourceMutationOptions): Promise<ResourceChangeResult>;
74
+ refresh(request?: RefreshResourceRequest): Promise<ResourceChangeResult[]>;
75
+ enable(ref: ResourceRef, options?: ResourceActivationOptions): Promise<ResourceChangeResult>;
76
+ disable(ref: ResourceRef, options?: ResourceActivationOptions): Promise<ResourceChangeResult>;
77
+ apply(options?: ResourceApplyOptions): Promise<ResourceChangeResult>;
78
+ invalidate(ref?: ResourceRef): Promise<void>;
79
+ }
80
+ export declare class ResourceManagerUnavailableError extends Error {
81
+ readonly code = "resource_manager_unavailable";
82
+ readonly status = 501;
83
+ constructor();
84
+ }
85
+ export declare function createUnavailableResourceManager(): AgentResourceManager;
86
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/service/resources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export class ResourceManagerUnavailableError extends Error {
2
+ code = 'resource_manager_unavailable';
3
+ status = 501;
4
+ constructor() {
5
+ super('No embedded resource manager was configured');
6
+ this.name = 'ResourceManagerUnavailableError';
7
+ }
8
+ }
9
+ export function createUnavailableResourceManager() {
10
+ const unavailable = async () => {
11
+ throw new ResourceManagerUnavailableError();
12
+ };
13
+ return {
14
+ listMarket: unavailable,
15
+ listInstalled: unavailable,
16
+ get: unavailable,
17
+ install: unavailable,
18
+ uninstall: unavailable,
19
+ refresh: unavailable,
20
+ enable: unavailable,
21
+ disable: unavailable,
22
+ apply: unavailable,
23
+ invalidate: unavailable,
24
+ };
25
+ }
26
+ //# sourceMappingURL=resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/service/resources.ts"],"names":[],"mappings":"AA2FA,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IAC/C,IAAI,GAAG,8BAA8B,CAAC;IACtC,MAAM,GAAG,GAAG,CAAC;IAEtB;QACE,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;IAChD,CAAC;CACF;AAED,MAAM,UAAU,gCAAgC;IAC9C,MAAM,WAAW,GAAG,KAAK,IAAoB,EAAE;QAC7C,MAAM,IAAI,+BAA+B,EAAE,CAAC;IAC9C,CAAC,CAAC;IACF,OAAO;QACL,UAAU,EAAE,WAAW;QACvB,aAAa,EAAE,WAAW;QAC1B,GAAG,EAAE,WAAW;QAChB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,WAAW;QACpB,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,WAAW;QACpB,KAAK,EAAE,WAAW;QAClB,UAAU,EAAE,WAAW;KACxB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-adapter.d.ts","sourceRoot":"","sources":["../../src/service/runtime-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,oBAAoB,EAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,UAAU,CAGZ"}
1
+ {"version":3,"file":"runtime-adapter.d.ts","sourceRoot":"","sources":["../../src/service/runtime-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,oBAAoB,EAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,UAAU,CAuBZ"}
@@ -1,6 +1,30 @@
1
1
  import { createDevRuntime, } from '@gt-fe/eap-runtime';
2
2
  export function createRuntimeForPrepared(_prepared, environment) {
3
- Object.assign(process.env, environment);
4
- return createDevRuntime();
3
+ const previous = new Map();
4
+ const serverSensitiveKeys = environment.EAP_DEPLOYMENT_CONTEXT === 'server'
5
+ ? ['EAP_TOKEN', 'EAP_DELEGATION_TOKEN', 'OPENAI_API_KEY']
6
+ : [];
7
+ for (const key of serverSensitiveKeys) {
8
+ previous.set(key, process.env[key]);
9
+ delete process.env[key];
10
+ }
11
+ for (const [key, value] of Object.entries(environment)) {
12
+ if (!previous.has(key))
13
+ previous.set(key, process.env[key]);
14
+ process.env[key] = value;
15
+ }
16
+ try {
17
+ // Runtime currently reads its assembly settings from process.env. Restore
18
+ // immediately after construction so embedded Agent configuration is scoped.
19
+ return createDevRuntime();
20
+ }
21
+ finally {
22
+ for (const [key, value] of previous) {
23
+ if (value === undefined)
24
+ delete process.env[key];
25
+ else
26
+ process.env[key] = value;
27
+ }
28
+ }
5
29
  }
6
30
  //# sourceMappingURL=runtime-adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-adapter.js","sourceRoot":"","sources":["../../src/service/runtime-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,GAEjB,MAAM,oBAAoB,CAAC;AAG5B,MAAM,UAAU,wBAAwB,CACtC,SAA+B,EAC/B,WAAmC;IAEnC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACxC,OAAO,gBAAgB,EAAE,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"runtime-adapter.js","sourceRoot":"","sources":["../../src/service/runtime-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,GAEjB,MAAM,oBAAoB,CAAC;AAG5B,MAAM,UAAU,wBAAwB,CACtC,SAA+B,EAC/B,WAAmC;IAEnC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;IACvD,MAAM,mBAAmB,GAAG,WAAW,CAAC,sBAAsB,KAAK,QAAQ;QACzE,CAAC,CAAC,CAAC,WAAW,EAAE,sBAAsB,EAAE,gBAAgB,CAAC;QACzD,CAAC,CAAC,EAAE,CAAC;IACP,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACtC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC3B,CAAC;IACD,IAAI,CAAC;QACH,0EAA0E;QAC1E,4EAA4E;QAC5E,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;YAAS,CAAC;QACT,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;YACpC,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;;gBAC5C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAChC,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { DevRuntime, SessionRecord } from '@gt-fe/eap-runtime';
2
+ export interface Page<T> {
3
+ items: T[];
4
+ limit: number;
5
+ offset: number;
6
+ total?: number;
7
+ }
8
+ export interface CreateSessionInput {
9
+ id?: string;
10
+ userId?: string;
11
+ title?: string;
12
+ metadata?: Record<string, unknown>;
13
+ }
14
+ export interface SessionListQuery {
15
+ userId?: string;
16
+ limit?: number;
17
+ offset?: number;
18
+ }
19
+ export type SessionView = SessionRecord;
20
+ export declare class SessionCapabilityError extends Error {
21
+ readonly code = "not_supported";
22
+ readonly status = 501;
23
+ constructor(message?: string);
24
+ }
25
+ export interface AgentSessionManager {
26
+ create(input?: CreateSessionInput): Promise<SessionView>;
27
+ get(sessionId: string): Promise<SessionView | null>;
28
+ list(query?: SessionListQuery): Promise<Page<SessionView>>;
29
+ restore(sessionId: string): Promise<SessionView>;
30
+ archive(sessionId: string): Promise<SessionView>;
31
+ }
32
+ export declare function createSessionManager(getRuntime: () => DevRuntime, agentCode: string, defaultUserId?: string): AgentSessionManager;
33
+ //# sourceMappingURL=sessions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/service/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEpE,MAAM,WAAW,IAAI,CAAC,CAAC;IACrB,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC;AAExC,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,MAAM,OAAO;gBAEV,OAAO,SAA4D;CAIhF;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,KAAK,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACzD,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACjD,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAClD;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,UAAU,EAC5B,SAAS,EAAE,MAAM,EACjB,aAAa,SAAiB,GAC7B,mBAAmB,CAmCrB"}
@@ -0,0 +1,67 @@
1
+ export class SessionCapabilityError extends Error {
2
+ code = 'not_supported';
3
+ status = 501;
4
+ constructor(message = 'Session restore is not supported by the current Runtime') {
5
+ super(message);
6
+ this.name = 'SessionCapabilityError';
7
+ }
8
+ }
9
+ export function createSessionManager(getRuntime, agentCode, defaultUserId = 'default-user') {
10
+ return {
11
+ async create(input = {}) {
12
+ const userId = input.userId?.trim() || defaultUserId;
13
+ return getRuntime().sessionService.createSession({
14
+ ...(input.id ? { id: input.id } : {}),
15
+ userId,
16
+ agentId: agentCode,
17
+ ...(input.title !== undefined ? { title: input.title } : {}),
18
+ ...(input.metadata !== undefined ? { metadata: input.metadata } : {}),
19
+ });
20
+ },
21
+ async get(sessionId) {
22
+ return getRuntime().sessionService.findSession(sessionId);
23
+ },
24
+ async list(query = {}) {
25
+ const limit = normalizePageSize(query.limit);
26
+ const offset = normalizeOffset(query.offset);
27
+ const service = getRuntime().sessionService;
28
+ const items = query.userId
29
+ ? await service.listSessions(query.userId, { limit, offset })
30
+ : await listAllOrPage(service, limit, offset);
31
+ return { items, limit, offset };
32
+ },
33
+ async restore(_sessionId) {
34
+ throw new SessionCapabilityError();
35
+ },
36
+ async archive(sessionId) {
37
+ const service = getRuntime().sessionService;
38
+ await service.archiveSession(sessionId);
39
+ const session = await service.findSession(sessionId);
40
+ if (!session)
41
+ throw new Error(`Session not found: ${sessionId}`);
42
+ return session;
43
+ },
44
+ };
45
+ }
46
+ async function listAllOrPage(service, limit, offset) {
47
+ if (typeof service.listAllSessions === 'function') {
48
+ const all = await service.listAllSessions();
49
+ return all.slice(offset, offset + limit);
50
+ }
51
+ return service.listSessions('default-user', { limit, offset });
52
+ }
53
+ function normalizePageSize(value) {
54
+ if (value === undefined)
55
+ return 50;
56
+ if (!Number.isInteger(value) || value < 1 || value > 500)
57
+ throw new RangeError('Session limit must be an integer between 1 and 500');
58
+ return value;
59
+ }
60
+ function normalizeOffset(value) {
61
+ if (value === undefined)
62
+ return 0;
63
+ if (!Number.isInteger(value) || value < 0)
64
+ throw new RangeError('Session offset must be a non-negative integer');
65
+ return value;
66
+ }
67
+ //# sourceMappingURL=sessions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/service/sessions.ts"],"names":[],"mappings":"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"}
@@ -1,54 +1,143 @@
1
- import type { ConversationDetail, DevRuntime, ExecuteParams, GraphMessage, LlmTurnIndexEntry, LlmTurnRecord, SessionRecord } from '@gt-fe/eap-runtime';
1
+ import type { ConversationDetail, DevRuntime, ExecuteParams, GraphDSL as RuntimeGraphDSL, LlmTurnIndexEntry, LlmTurnRecord, MessageRecord, SSEEvent, SessionRecord } from '@gt-fe/eap-runtime';
2
2
  import type { ResolvedAgentProject } from '../discovery/index.js';
3
3
  import type { PreparedAgentRuntime } from '../materialization/index.js';
4
- import type { AgentProjectSelector } from '../schema/index.js';
5
- import type { AgentServiceStreamEvent } from './events.js';
6
- export type AgentServiceRequest = Omit<ExecuteParams, 'agentCode' | 'input'>;
7
- export type AgentServiceStream = AsyncIterable<AgentServiceStreamEvent>;
8
- export type AgentServiceInvokeResult = ReturnType<DevRuntime['agentRuntime']['execute']>;
9
- export interface AgentServiceStartOptions {
10
- host?: string;
11
- port?: number;
12
- }
13
- export type AgentRuntimeFactory = (prepared: PreparedAgentRuntime, environment: Record<string, string>) => DevRuntime;
14
- export type CreateAgentServiceOptions = AgentProjectSelector & {
15
- runtimeFactory?: AgentRuntimeFactory;
16
- messages?: GraphMessage[];
4
+ import type { AgentEventManager } from './events.js';
5
+ import type { AgentMessageManager } from './messages.js';
6
+ import type { AgentResourceManager } from './resources.js';
7
+ import type { AgentSessionManager } from './sessions.js';
8
+ export type AgentEventHandler = (event: SSEEvent) => void | Promise<void>;
9
+ /** Request options accepted by both invoke and stream. */
10
+ export type AgentRequest = Omit<ExecuteParams, 'agentCode' | 'input'> & {
11
+ /** Receives the same Runtime SSEEvent values yielded by stream(). */
12
+ onEvent?: AgentEventHandler;
13
+ /** Event callback errors are ignored by default so Runtime results are unchanged. */
14
+ onEventError?: 'ignore' | 'throw';
17
15
  /**
18
- * Enable file-backed Runtime sessions, messages, and checkpoints.
19
- *
20
- * SDK services default to in-memory storage so embedding an Agent does not
21
- * create local conversation files. The CLI development surfaces opt in.
16
+ * RAG 会话勾选的数据源 id 列表。
17
+ * undefined = 目录全部启用(缺省);[] = 全不勾(外部源全拒;声明过 local-file 未勾 → 本地关闭)。
18
+ * TODO(runtime): 最新 @gt-fe/eap-runtime 尚未在 ExecuteParams 上发布该字段,
19
+ * 暂由 SDK 在 AgentRequest 补齐并随 execute/stream 透传;待 runtime 更新后迁移到 ExecuteParams 并移除 SDK 侧声明。
22
20
  */
23
- sessionPersistence?: boolean;
21
+ ragSources?: string[];
22
+ /**
23
+ * RAG 本地检索范围(只作用本地源)。
24
+ * dirPaths 按目录整棵圈定(含子目录);fileIds 与 dirPaths 取并集;fileIds: [] 显式关本地(引擎回空)。
25
+ * TODO(runtime): 最新 @gt-fe/eap-runtime 尚未在 ExecuteParams 上发布该字段,
26
+ * 暂由 SDK 在 AgentRequest 补齐并随 execute/stream 透传;待 runtime 更新后迁移到 ExecuteParams 并移除 SDK 侧声明。
27
+ */
28
+ ragScope?: {
29
+ fileIds?: string[];
30
+ dirPaths?: string[];
31
+ };
24
32
  };
25
- /**
26
- * Starts an Agent from a previously materialized Runtime tree. This is the
27
- * production counterpart to createAgentService(): it never reads project
28
- * source files or performs materialization.
29
- */
30
- export interface CreateEmbeddedAgentServiceOptions {
31
- runtimeRoot: string;
33
+ export type AgentStream = AsyncIterable<SSEEvent>;
34
+ export type AgentInvokeResult = ReturnType<DevRuntime['agentRuntime']['execute']>;
35
+ export interface CredentialToken {
36
+ value: string;
37
+ expiresAt?: string;
38
+ subject?: string;
39
+ scopes?: string[];
40
+ }
41
+ export interface AgentCredentialProvider {
42
+ getToken(input: {
43
+ audience: 'portal' | 'foundation' | 'runtime';
44
+ agentCode: string;
45
+ requestId?: string;
46
+ signal?: AbortSignal;
47
+ }): Promise<CredentialToken>;
48
+ invalidate?(input: {
49
+ audience: string;
50
+ reason: 'expired' | 'unauthorized' | 'revoked';
51
+ }): Promise<void> | void;
52
+ }
53
+ export interface EmbeddedSdkConfig {
54
+ platform?: {
55
+ portalEndpoint?: string;
56
+ foundationEndpoint?: string;
57
+ };
58
+ credentials: {
59
+ provider?: AgentCredentialProvider;
60
+ /** Development-only token. It is rejected for server deployments. */
61
+ developmentToken?: string;
62
+ };
63
+ resources?: {
64
+ manager: AgentResourceManager;
65
+ };
66
+ runtime?: {
67
+ environment?: Record<string, string>;
68
+ /** An already authenticated runtime adapter may be used in server mode. */
69
+ authenticated?: boolean;
70
+ };
71
+ }
72
+ export interface ReloadResult {
73
+ status: 'effective' | 'failed';
74
+ revision: string;
75
+ error?: {
76
+ code: string;
77
+ message: string;
78
+ };
79
+ }
80
+ export interface ConfigWriteResult {
81
+ revision: string;
82
+ status: 'pending' | 'effective';
83
+ requiresReload: boolean;
84
+ }
85
+ export interface RuntimeConfigView {
86
+ revision: string;
87
+ pending: boolean;
88
+ environment: Readonly<Record<string, string>>;
89
+ }
90
+ export interface RuntimeConfigPatch {
91
+ environment?: Record<string, string>;
92
+ [key: string]: unknown;
93
+ }
94
+ export interface AgentConfigApi {
95
+ read(): RuntimeConfigView;
96
+ write(patch: RuntimeConfigPatch): Promise<ConfigWriteResult>;
97
+ apply(): Promise<ReloadResult>;
98
+ }
99
+ export type AgentRuntimeFactory = (prepared: PreparedAgentRuntime, environment: Record<string, string>) => DevRuntime;
100
+ export interface CreateAgentOptions {
101
+ /** 已物化的 Runtime 根目录;缺省读取 EAP_RUNTIME_ROOT 或 dist/.eap/runtime。 */
102
+ runtimeRoot?: string;
32
103
  agentCode?: string;
33
104
  version?: string;
34
105
  runtimeFactory?: AgentRuntimeFactory;
106
+ sessionPersistence?: boolean;
35
107
  environment?: Record<string, string>;
36
108
  deploymentContext?: 'dev' | 'desktop' | 'server';
37
- sessionPersistence?: boolean;
38
109
  sessionDirectory?: string;
110
+ embeddedConfig?: EmbeddedSdkConfig;
111
+ }
112
+ export interface AgentGraphApi {
113
+ read(): RuntimeGraphDSL;
114
+ replace(graph: RuntimeGraphDSL): Promise<ConfigWriteResult>;
115
+ update(updater: (graph: RuntimeGraphDSL) => RuntimeGraphDSL | void | Promise<RuntimeGraphDSL | void>): Promise<ConfigWriteResult>;
39
116
  }
40
- export interface AgentService {
117
+ /** Runtime-backed Agent API. It does not start an HTTP server. */
118
+ export interface Agent {
41
119
  readonly target: ResolvedAgentProject;
42
120
  readonly runtime: DevRuntime;
43
- invoke(input: string, options?: AgentServiceRequest): AgentServiceInvokeResult;
44
- stream(input: string, options?: AgentServiceRequest): AgentServiceStream;
121
+ readonly graph: AgentGraphApi;
122
+ readonly config: AgentConfigApi;
123
+ readonly resources: AgentResourceManager;
124
+ readonly sessions: AgentSessionManager;
125
+ readonly messages: AgentMessageManager;
126
+ readonly events: AgentEventManager;
127
+ readonly credentials?: AgentCredentialProvider;
128
+ invoke(input: string, options?: AgentRequest): AgentInvokeResult;
129
+ stream(input: string, options?: AgentRequest): AgentStream;
45
130
  getConversation(sessionId: string): Promise<ConversationDetail>;
46
131
  listConversations(options?: {
47
132
  userId?: string;
48
133
  }): Promise<SessionRecord[]>;
49
134
  listLlmTurns(sessionId: string): Promise<LlmTurnIndexEntry[]>;
50
135
  getLlmTurn(sessionId: string, turnId: string): Promise<LlmTurnRecord | null>;
51
- start(options: AgentServiceStartOptions): Promise<void>;
52
- stop(): Promise<void>;
136
+ reload(): Promise<ReloadResult>;
137
+ dispose(): void;
53
138
  }
139
+ export type AgentFacade = Agent;
140
+ export type CodeAgentFacade = Agent;
141
+ export type GraphAgentFacade = Agent;
142
+ export type { ConversationDetail, MessageRecord, RuntimeGraphDSL, SSEEvent, SessionRecord };
54
143
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/service/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,aAAa,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC;AAC7E,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAEzF,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,mBAAmB,GAAG,CAChC,QAAQ,EAAE,oBAAoB,EAC9B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAChC,UAAU,CAAC;AAEhB,MAAM,MAAM,yBAAyB,GAAG,oBAAoB,GAAG;IAC7D,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,iCAAiC;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,iBAAiB,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;IACjD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,wBAAwB,CAAC;IAC/E,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,kBAAkB,CAAC;IACzE,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAChE,iBAAiB,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC3E,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC9D,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAC7E,KAAK,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/service/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate-agent-project.d.ts","sourceRoot":"","sources":["../../src/validation/validate-agent-project.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,4BAA4B,EAAmB,MAAM,YAAY,CAAC;AAEhF,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,4BAA4B,CA0BhF"}
1
+ {"version":3,"file":"validate-agent-project.d.ts","sourceRoot":"","sources":["../../src/validation/validate-agent-project.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,4BAA4B,EAAmB,MAAM,YAAY,CAAC;AAEhF,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,4BAA4B,CA8BhF"}
@@ -3,14 +3,17 @@ import { resolve } from 'node:path';
3
3
  import { loadProjectRuntimeConfig } from '../config/index.js';
4
4
  import { resolveAgentProject } from '../discovery/index.js';
5
5
  import { declaredResourceCodes, findUndeclaredLockedResources, LockedResourceResolutionError, readEapLock, resolveLockedResources, } from '../lockfile/index.js';
6
+ import { configuredLocalResourceCodes, discoverConfiguredLocalResources, } from '../resources/configured-local-resources.js';
6
7
  import { hasOfficialSkillPackage, readLocalAgentResource } from '../resources/local-resource.js';
7
8
  import { validateAgentDirectory } from './validate-agent-directory.js';
8
9
  export function validateAgentProject(root) {
9
10
  const project = resolveAgentProject(root ? { root } : {});
10
11
  const result = validateAgentDirectory(project);
11
12
  const issues = [...result.issues];
13
+ let configuredLocalResources = [];
12
14
  try {
13
- loadProjectRuntimeConfig({ root: project.root });
15
+ const loaded = loadProjectRuntimeConfig({ root: project.root });
16
+ configuredLocalResources = discoverConfiguredLocalResources(project.root, loaded.config);
14
17
  }
15
18
  catch (error) {
16
19
  issues.push({
@@ -22,8 +25,9 @@ export function validateAgentProject(root) {
22
25
  version: project.version,
23
26
  });
24
27
  }
25
- if (result.agent)
26
- validateLockResources(project.root, result.agent.manifest, issues);
28
+ if (result.agent) {
29
+ validateLockResources(project.root, result.agent.manifest, configuredLocalResources, issues);
30
+ }
27
31
  return {
28
32
  root: project.root,
29
33
  valid: issues.every((issue) => issue.severity !== 'error'),
@@ -31,8 +35,11 @@ export function validateAgentProject(root) {
31
35
  ...(result.agent ? { agent: result.agent } : {}),
32
36
  };
33
37
  }
34
- function validateLockResources(root, manifest, issues) {
38
+ function validateLockResources(root, manifest, configuredLocalResources, issues) {
39
+ const configuredCodes = configuredLocalResourceCodes(configuredLocalResources);
35
40
  for (const code of declaredResourceCodes(manifest, 'skills')) {
41
+ if (configuredCodes.skills?.has(code))
42
+ continue;
36
43
  const directory = resolve(root, 'skills', code);
37
44
  if (!hasOfficialSkillPackage(root, code))
38
45
  continue;
@@ -51,8 +58,10 @@ function validateLockResources(root, manifest, issues) {
51
58
  }
52
59
  }
53
60
  const skillsNeedingLock = declaredResourceCodes(manifest, 'skills')
54
- .filter((code) => !hasOfficialSkillPackage(root, code));
55
- const hasMaterializedDependencies = declaredResourceCodes(manifest, 'tools').length > 0
61
+ .filter((code) => !configuredCodes.skills?.has(code) && !hasOfficialSkillPackage(root, code));
62
+ const toolsNeedingLock = declaredResourceCodes(manifest, 'tools')
63
+ .filter((code) => !configuredCodes.tools?.has(code));
64
+ const hasMaterializedDependencies = toolsNeedingLock.length > 0
56
65
  || skillsNeedingLock.length > 0;
57
66
  let lock;
58
67
  try {
@@ -63,20 +72,25 @@ function validateLockResources(root, manifest, issues) {
63
72
  return;
64
73
  }
65
74
  if (!lock) {
66
- if (hasMaterializedDependencies) {
67
- issues.push({
68
- severity: 'error',
69
- code: 'lockfile.missing',
70
- message: '声明了 Tool 或 Skill 依赖时,需要 eap.lock.yaml。请运行 eap install 生成锁文件。',
71
- filePath: resolve(root, 'eap.lock.yaml'),
72
- agentCode: manifest.code,
73
- version: manifest.version,
74
- });
75
- }
75
+ issues.push({
76
+ severity: 'error',
77
+ code: 'lockfile.missing',
78
+ message: hasMaterializedDependencies
79
+ ? '声明了 Tool 或 Skill 依赖时,需要 eap.lock.yaml。请运行 eap install 生成锁文件。'
80
+ : 'Agent Runtime 物化需要 eap.lock.yaml。请运行 eap install 生成锁文件。',
81
+ filePath: resolve(root, 'eap.lock.yaml'),
82
+ agentCode: manifest.code,
83
+ version: manifest.version,
84
+ });
76
85
  return;
77
86
  }
78
87
  try {
79
- const resources = resolveLockedResources({ root, manifest, lock });
88
+ const resources = resolveLockedResources({
89
+ root,
90
+ manifest,
91
+ lock,
92
+ availableLocalResources: configuredCodes,
93
+ });
80
94
  for (const resource of resources) {
81
95
  if (resource.source !== 'registry')
82
96
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"validate-agent-project.js","sourceRoot":"","sources":["../../src/validation/validate-agent-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,6BAA6B,EAC7B,6BAA6B,EAC7B,WAAW,EACX,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACjG,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAGvE,MAAM,UAAU,oBAAoB,CAAC,IAAa;IAChD,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAElC,IAAI,CAAC;QACH,wBAAwB,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC/D,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC;YAClD,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,CAAC,KAAK;QAAE,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAErF,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC;QAC1D,MAAM;QACN,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAY,EACZ,QAAuB,EACvB,MAAyB;IAEzB,KAAK,MAAM,IAAI,IAAI,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC7D,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC;YAAE,SAAS;QACnD,IAAI,CAAC;YACH,sBAAsB,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC/D,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,QAAQ,CAAC,IAAI;gBACxB,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAChE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1D,MAAM,2BAA2B,GAAG,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;WAClF,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC;IACT,IAAI,CAAC;QACH,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;QAClF,OAAO;IACT,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,2BAA2B,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,8DAA8D;gBACvE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC;gBACxC,SAAS,EAAE,QAAQ,CAAC,IAAI;gBACxB,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC,CAAC;QACL,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,sBAAsB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU;gBAAE,SAAS;YAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBAChE,MAAM,CAAC,IAAI,CAAC;oBACV,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,kCAAkC;oBACxC,OAAO,EAAE,YAAY,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,UAAU,SAAS,kCAAkC;oBACrH,QAAQ,EAAE,SAAS;oBACnB,SAAS,EAAE,QAAQ,CAAC,IAAI;oBACxB,OAAO,EAAE,QAAQ,CAAC,OAAO;iBAC1B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACzG,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,6BAA6B,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;QACrE,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE,sBAAsB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,yDAAyD;YACvJ,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC;YACxC,SAAS,EAAE,QAAQ,CAAC,IAAI;YACxB,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAc,EACd,QAAgB,EAChB,SAAkB,EAClB,OAAgB;IAEhB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,KAAK,YAAY,6BAA6B,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7F,MAAM,QAAQ,GAAG,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;QACpD,CAAC,CAAC,oBAAoB,QAAQ,CAAC,IAAI,WAAW,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;QAChF,CAAC,CAAC,EAAE,CAAC;IACP,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE,GAAG,OAAO,GAAG,QAAQ,EAAE;QAChC,QAAQ;QACR,SAAS;QACT,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAChB,IAAY,EACZ,KAAc,EACd,QAAgB,EAChB,SAAkB,EAClB,OAAgB;IAEhB,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,IAAI;QACJ,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/D,QAAQ;QACR,SAAS;QACT,OAAO;KACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"validate-agent-project.js","sourceRoot":"","sources":["../../src/validation/validate-agent-project.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gt-fe/eap-sdk",
3
- "version": "0.1.13",
3
+ "version": "0.2.1",
4
4
  "description": "EAP Agent 开发 SDK — Runtime 开发服务、项目校验与确定性打包",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -16,10 +16,10 @@
16
16
  "dist"
17
17
  ],
18
18
  "dependencies": {
19
- "@gt-fe/eap-contracts": "0.0.11",
20
- "@gt-fe/eap-runtime": "0.0.15",
19
+ "@gt-fe/eap-contracts": "0.0.12",
21
20
  "yaml": "^2.9.0",
22
- "zod": "^3.25.76"
21
+ "zod": "^3.25.76",
22
+ "@gt-fe/eap-runtime": "0.0.22"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@types/node": "^22.0.0",