@@ -5,10 +5,11 @@ import {
55 WorkerManifest ,
66 QueueManifest ,
77} from "../schemas/index.js" ;
8- import { TaskMetadataWithFunctions } from "../types/index.js" ;
8+ import { TaskMetadataWithFunctions , TaskSchema } from "../types/index.js" ;
99import { ResourceCatalog } from "./catalog.js" ;
1010
1111export class StandardResourceCatalog implements ResourceCatalog {
12+ private _taskSchemas : Map < string , TaskSchema > = new Map ( ) ;
1213 private _taskMetadata : Map < string , TaskMetadata > = new Map ( ) ;
1314 private _taskFunctions : Map < string , TaskMetadataWithFunctions [ "fns" ] > = new Map ( ) ;
1415 private _taskFileMetadata : Map < string , TaskFileMetadata > = new Map ( ) ;
@@ -72,6 +73,10 @@ export class StandardResourceCatalog implements ResourceCatalog {
7273
7374 this . _taskMetadata . set ( task . id , metadata ) ;
7475 this . _taskFunctions . set ( task . id , fns ) ;
76+
77+ if ( task . schema ) {
78+ this . _taskSchemas . set ( task . id , task . schema ) ;
79+ }
7580 }
7681
7782 updateTaskMetadata ( id : string , updates : Partial < TaskMetadataWithFunctions > ) : void {
@@ -107,15 +112,21 @@ export class StandardResourceCatalog implements ResourceCatalog {
107112 continue ;
108113 }
109114
110- result . push ( {
115+ const taskManifest = {
111116 ...metadata ,
112117 ...fileMetadata ,
113- } ) ;
118+ } ;
119+
120+ result . push ( taskManifest ) ;
114121 }
115122
116123 return result ;
117124 }
118125
126+ getTaskSchema ( id : string ) : TaskSchema | undefined {
127+ return this . _taskSchemas . get ( id ) ;
128+ }
129+
119130 listQueueManifests ( ) : Array < QueueManifest > {
120131 return Array . from ( this . _queueMetadata . values ( ) ) ;
121132 }
0 commit comments