@dagger.io/dagger 0.17.2 → 0.18.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.
@@ -14,6 +14,12 @@ declare class BaseClient {
14
14
  */
15
15
  constructor(_ctx?: Context);
16
16
  }
17
+ /**
18
+ * The `BindingID` scalar type represents an identifier for an object of type Binding.
19
+ */
20
+ export type BindingID = string & {
21
+ __BindingID: never;
22
+ };
17
23
  export type BuildArg = {
18
24
  /**
19
25
  * The build argument name.
@@ -724,6 +730,12 @@ export type EnumTypeDefID = string & {
724
730
  export type EnumValueTypeDefID = string & {
725
731
  __EnumValueTypeDefID: never;
726
732
  };
733
+ /**
734
+ * The `EnvID` scalar type represents an identifier for an object of type Env.
735
+ */
736
+ export type EnvID = string & {
737
+ __EnvID: never;
738
+ };
727
739
  /**
728
740
  * The `EnvVariableID` scalar type represents an identifier for an object of type EnvVariable.
729
741
  */
@@ -933,12 +945,6 @@ export type LLMID = string & {
933
945
  export type LLMTokenUsageID = string & {
934
946
  __LLMTokenUsageID: never;
935
947
  };
936
- /**
937
- * The `LLMVariableID` scalar type represents an identifier for an object of type LLMVariable.
938
- */
939
- export type LLMVariableID = string & {
940
- __LLMVariableID: never;
941
- };
942
948
  /**
943
949
  * The `LabelID` scalar type represents an identifier for an object of type Label.
944
950
  */
@@ -1305,6 +1311,88 @@ export type __TypeEnumValuesOpts = {
1305
1311
  export type __TypeFieldsOpts = {
1306
1312
  includeDeprecated?: boolean;
1307
1313
  };
1314
+ export declare class Binding extends BaseClient {
1315
+ private readonly _id?;
1316
+ private readonly _digest?;
1317
+ private readonly _name?;
1318
+ private readonly _typeName?;
1319
+ /**
1320
+ * Constructor is used for internal usage only, do not create object from it.
1321
+ */
1322
+ constructor(ctx?: Context, _id?: BindingID, _digest?: string, _name?: string, _typeName?: string);
1323
+ /**
1324
+ * A unique identifier for this Binding.
1325
+ */
1326
+ id: () => Promise<BindingID>;
1327
+ /**
1328
+ * Retrieve the binding value, as type CacheVolume
1329
+ */
1330
+ asCacheVolume: () => CacheVolume;
1331
+ /**
1332
+ * Retrieve the binding value, as type Container
1333
+ */
1334
+ asContainer: () => Container;
1335
+ /**
1336
+ * Retrieve the binding value, as type Directory
1337
+ */
1338
+ asDirectory: () => Directory;
1339
+ /**
1340
+ * Retrieve the binding value, as type Env
1341
+ */
1342
+ asEnv: () => Env;
1343
+ /**
1344
+ * Retrieve the binding value, as type File
1345
+ */
1346
+ asFile: () => File;
1347
+ /**
1348
+ * Retrieve the binding value, as type GitRef
1349
+ */
1350
+ asGitRef: () => GitRef;
1351
+ /**
1352
+ * Retrieve the binding value, as type GitRepository
1353
+ */
1354
+ asGitRepository: () => GitRepository;
1355
+ /**
1356
+ * Retrieve the binding value, as type LLM
1357
+ */
1358
+ asLLM: () => LLM;
1359
+ /**
1360
+ * Retrieve the binding value, as type Module
1361
+ */
1362
+ asModule: () => Module_;
1363
+ /**
1364
+ * Retrieve the binding value, as type ModuleConfigClient
1365
+ */
1366
+ asModuleConfigClient: () => ModuleConfigClient;
1367
+ /**
1368
+ * Retrieve the binding value, as type ModuleSource
1369
+ */
1370
+ asModuleSource: () => ModuleSource;
1371
+ /**
1372
+ * Retrieve the binding value, as type Secret
1373
+ */
1374
+ asSecret: () => Secret;
1375
+ /**
1376
+ * Retrieve the binding value, as type Service
1377
+ */
1378
+ asService: () => Service;
1379
+ /**
1380
+ * Retrieve the binding value, as type Socket
1381
+ */
1382
+ asSocket: () => Socket;
1383
+ /**
1384
+ * The digest of the binding value
1385
+ */
1386
+ digest: () => Promise<string>;
1387
+ /**
1388
+ * The binding name
1389
+ */
1390
+ name: () => Promise<string>;
1391
+ /**
1392
+ * The binding type
1393
+ */
1394
+ typeName: () => Promise<string>;
1395
+ }
1308
1396
  /**
1309
1397
  * A directory whose contents persist across runs.
1310
1398
  */
@@ -2314,6 +2402,227 @@ export declare class EnumValueTypeDef extends BaseClient {
2314
2402
  */
2315
2403
  sourceMap: () => SourceMap;
2316
2404
  }
2405
+ export declare class Env extends BaseClient {
2406
+ private readonly _id?;
2407
+ /**
2408
+ * Constructor is used for internal usage only, do not create object from it.
2409
+ */
2410
+ constructor(ctx?: Context, _id?: EnvID);
2411
+ /**
2412
+ * A unique identifier for this Env.
2413
+ */
2414
+ id: () => Promise<EnvID>;
2415
+ /**
2416
+ * retrieve an input value by name
2417
+ */
2418
+ input: (name: string) => Binding;
2419
+ /**
2420
+ * return all input values for the environment
2421
+ */
2422
+ inputs: () => Promise<Binding[]>;
2423
+ /**
2424
+ * retrieve an output value by name
2425
+ */
2426
+ output: (name: string) => Binding;
2427
+ /**
2428
+ * return all output values for the environment
2429
+ */
2430
+ outputs: () => Promise<Binding[]>;
2431
+ /**
2432
+ * Create or update a binding of type CacheVolume in the environment
2433
+ * @param name The name of the binding
2434
+ * @param value The CacheVolume value to assign to the binding
2435
+ * @param description The purpose of the input
2436
+ */
2437
+ withCacheVolumeInput: (name: string, value: CacheVolume, description: string) => Env;
2438
+ /**
2439
+ * Declare a desired CacheVolume output to be assigned in the environment
2440
+ * @param name The name of the binding
2441
+ * @param description A description of the desired value of the binding
2442
+ */
2443
+ withCacheVolumeOutput: (name: string, description: string) => Env;
2444
+ /**
2445
+ * Create or update a binding of type Container in the environment
2446
+ * @param name The name of the binding
2447
+ * @param value The Container value to assign to the binding
2448
+ * @param description The purpose of the input
2449
+ */
2450
+ withContainerInput: (name: string, value: Container, description: string) => Env;
2451
+ /**
2452
+ * Declare a desired Container output to be assigned in the environment
2453
+ * @param name The name of the binding
2454
+ * @param description A description of the desired value of the binding
2455
+ */
2456
+ withContainerOutput: (name: string, description: string) => Env;
2457
+ /**
2458
+ * Create or update a binding of type Directory in the environment
2459
+ * @param name The name of the binding
2460
+ * @param value The Directory value to assign to the binding
2461
+ * @param description The purpose of the input
2462
+ */
2463
+ withDirectoryInput: (name: string, value: Directory, description: string) => Env;
2464
+ /**
2465
+ * Declare a desired Directory output to be assigned in the environment
2466
+ * @param name The name of the binding
2467
+ * @param description A description of the desired value of the binding
2468
+ */
2469
+ withDirectoryOutput: (name: string, description: string) => Env;
2470
+ /**
2471
+ * Create or update a binding of type Env in the environment
2472
+ * @param name The name of the binding
2473
+ * @param value The Env value to assign to the binding
2474
+ * @param description The purpose of the input
2475
+ */
2476
+ withEnvInput: (name: string, value: Env, description: string) => Env;
2477
+ /**
2478
+ * Declare a desired Env output to be assigned in the environment
2479
+ * @param name The name of the binding
2480
+ * @param description A description of the desired value of the binding
2481
+ */
2482
+ withEnvOutput: (name: string, description: string) => Env;
2483
+ /**
2484
+ * Create or update a binding of type File in the environment
2485
+ * @param name The name of the binding
2486
+ * @param value The File value to assign to the binding
2487
+ * @param description The purpose of the input
2488
+ */
2489
+ withFileInput: (name: string, value: File, description: string) => Env;
2490
+ /**
2491
+ * Declare a desired File output to be assigned in the environment
2492
+ * @param name The name of the binding
2493
+ * @param description A description of the desired value of the binding
2494
+ */
2495
+ withFileOutput: (name: string, description: string) => Env;
2496
+ /**
2497
+ * Create or update a binding of type GitRef in the environment
2498
+ * @param name The name of the binding
2499
+ * @param value The GitRef value to assign to the binding
2500
+ * @param description The purpose of the input
2501
+ */
2502
+ withGitRefInput: (name: string, value: GitRef, description: string) => Env;
2503
+ /**
2504
+ * Declare a desired GitRef output to be assigned in the environment
2505
+ * @param name The name of the binding
2506
+ * @param description A description of the desired value of the binding
2507
+ */
2508
+ withGitRefOutput: (name: string, description: string) => Env;
2509
+ /**
2510
+ * Create or update a binding of type GitRepository in the environment
2511
+ * @param name The name of the binding
2512
+ * @param value The GitRepository value to assign to the binding
2513
+ * @param description The purpose of the input
2514
+ */
2515
+ withGitRepositoryInput: (name: string, value: GitRepository, description: string) => Env;
2516
+ /**
2517
+ * Declare a desired GitRepository output to be assigned in the environment
2518
+ * @param name The name of the binding
2519
+ * @param description A description of the desired value of the binding
2520
+ */
2521
+ withGitRepositoryOutput: (name: string, description: string) => Env;
2522
+ /**
2523
+ * Create or update a binding of type LLM in the environment
2524
+ * @param name The name of the binding
2525
+ * @param value The LLM value to assign to the binding
2526
+ * @param description The purpose of the input
2527
+ */
2528
+ withLLMInput: (name: string, value: LLM, description: string) => Env;
2529
+ /**
2530
+ * Declare a desired LLM output to be assigned in the environment
2531
+ * @param name The name of the binding
2532
+ * @param description A description of the desired value of the binding
2533
+ */
2534
+ withLLMOutput: (name: string, description: string) => Env;
2535
+ /**
2536
+ * Create or update a binding of type ModuleConfigClient in the environment
2537
+ * @param name The name of the binding
2538
+ * @param value The ModuleConfigClient value to assign to the binding
2539
+ * @param description The purpose of the input
2540
+ */
2541
+ withModuleConfigClientInput: (name: string, value: ModuleConfigClient, description: string) => Env;
2542
+ /**
2543
+ * Declare a desired ModuleConfigClient output to be assigned in the environment
2544
+ * @param name The name of the binding
2545
+ * @param description A description of the desired value of the binding
2546
+ */
2547
+ withModuleConfigClientOutput: (name: string, description: string) => Env;
2548
+ /**
2549
+ * Create or update a binding of type Module in the environment
2550
+ * @param name The name of the binding
2551
+ * @param value The Module value to assign to the binding
2552
+ * @param description The purpose of the input
2553
+ */
2554
+ withModuleInput: (name: string, value: Module_, description: string) => Env;
2555
+ /**
2556
+ * Declare a desired Module output to be assigned in the environment
2557
+ * @param name The name of the binding
2558
+ * @param description A description of the desired value of the binding
2559
+ */
2560
+ withModuleOutput: (name: string, description: string) => Env;
2561
+ /**
2562
+ * Create or update a binding of type ModuleSource in the environment
2563
+ * @param name The name of the binding
2564
+ * @param value The ModuleSource value to assign to the binding
2565
+ * @param description The purpose of the input
2566
+ */
2567
+ withModuleSourceInput: (name: string, value: ModuleSource, description: string) => Env;
2568
+ /**
2569
+ * Declare a desired ModuleSource output to be assigned in the environment
2570
+ * @param name The name of the binding
2571
+ * @param description A description of the desired value of the binding
2572
+ */
2573
+ withModuleSourceOutput: (name: string, description: string) => Env;
2574
+ /**
2575
+ * Create or update a binding of type Secret in the environment
2576
+ * @param name The name of the binding
2577
+ * @param value The Secret value to assign to the binding
2578
+ * @param description The purpose of the input
2579
+ */
2580
+ withSecretInput: (name: string, value: Secret, description: string) => Env;
2581
+ /**
2582
+ * Declare a desired Secret output to be assigned in the environment
2583
+ * @param name The name of the binding
2584
+ * @param description A description of the desired value of the binding
2585
+ */
2586
+ withSecretOutput: (name: string, description: string) => Env;
2587
+ /**
2588
+ * Create or update a binding of type Service in the environment
2589
+ * @param name The name of the binding
2590
+ * @param value The Service value to assign to the binding
2591
+ * @param description The purpose of the input
2592
+ */
2593
+ withServiceInput: (name: string, value: Service, description: string) => Env;
2594
+ /**
2595
+ * Declare a desired Service output to be assigned in the environment
2596
+ * @param name The name of the binding
2597
+ * @param description A description of the desired value of the binding
2598
+ */
2599
+ withServiceOutput: (name: string, description: string) => Env;
2600
+ /**
2601
+ * Create or update a binding of type Socket in the environment
2602
+ * @param name The name of the binding
2603
+ * @param value The Socket value to assign to the binding
2604
+ * @param description The purpose of the input
2605
+ */
2606
+ withSocketInput: (name: string, value: Socket, description: string) => Env;
2607
+ /**
2608
+ * Declare a desired Socket output to be assigned in the environment
2609
+ * @param name The name of the binding
2610
+ * @param description A description of the desired value of the binding
2611
+ */
2612
+ withSocketOutput: (name: string, description: string) => Env;
2613
+ /**
2614
+ * Create or update an input value of type string
2615
+ * @param name The name of the binding
2616
+ * @param value The string value to assign to the binding
2617
+ */
2618
+ withStringInput: (name: string, value: string, description: string) => Env;
2619
+ /**
2620
+ * Call the provided function with current Env.
2621
+ *
2622
+ * This is useful for reusability and readability by not breaking the calling chain.
2623
+ */
2624
+ with: (arg: (param: Env) => Env) => Env;
2625
+ }
2317
2626
  /**
2318
2627
  * An environment variable name and value.
2319
2628
  */
@@ -2923,8 +3232,6 @@ export declare class InterfaceTypeDef extends BaseClient {
2923
3232
  }
2924
3233
  export declare class LLM extends BaseClient {
2925
3234
  private readonly _id?;
2926
- private readonly _currentType?;
2927
- private readonly _getString?;
2928
3235
  private readonly _historyJSON?;
2929
3236
  private readonly _lastReply?;
2930
3237
  private readonly _model?;
@@ -2934,7 +3241,7 @@ export declare class LLM extends BaseClient {
2934
3241
  /**
2935
3242
  * Constructor is used for internal usage only, do not create object from it.
2936
3243
  */
2937
- constructor(ctx?: Context, _id?: LLMID, _currentType?: string, _getString?: string, _historyJSON?: string, _lastReply?: string, _model?: string, _provider?: string, _sync?: LLMID, _tools?: string);
3244
+ constructor(ctx?: Context, _id?: LLMID, _historyJSON?: string, _lastReply?: string, _model?: string, _provider?: string, _sync?: LLMID, _tools?: string);
2938
3245
  /**
2939
3246
  * A unique identifier for this LLM.
2940
3247
  */
@@ -2943,248 +3250,14 @@ export declare class LLM extends BaseClient {
2943
3250
  * create a branch in the LLM's history
2944
3251
  */
2945
3252
  attempt: (number_: number) => LLM;
2946
- /**
2947
- * Retrieve a the current value in the LLM environment, of type CacheVolume
2948
- */
2949
- cacheVolume: () => CacheVolume;
2950
- /**
2951
- * Retrieve a the current value in the LLM environment, of type Container
2952
- */
2953
- container: () => Container;
2954
- /**
2955
- * Retrieve a the current value in the LLM environment, of type CurrentModule
2956
- */
2957
- currentModule: () => CurrentModule;
2958
3253
  /**
2959
3254
  * returns the type of the current state
2960
3255
  */
2961
- currentType: () => Promise<string>;
2962
- /**
2963
- * Retrieve a the current value in the LLM environment, of type Directory
2964
- */
2965
- directory: () => Directory;
2966
- /**
2967
- * Retrieve a the current value in the LLM environment, of type EnumTypeDef
2968
- */
2969
- enumTypeDef: () => EnumTypeDef;
2970
- /**
2971
- * Retrieve a the current value in the LLM environment, of type EnumValueTypeDef
2972
- */
2973
- enumValueTypeDef: () => EnumValueTypeDef;
2974
- /**
2975
- * Retrieve a the current value in the LLM environment, of type Error
2976
- */
2977
- error: () => Error;
2978
- /**
2979
- * Retrieve a the current value in the LLM environment, of type ErrorValue
2980
- */
2981
- errorValue: () => ErrorValue;
2982
- /**
2983
- * Retrieve a the current value in the LLM environment, of type FieldTypeDef
2984
- */
2985
- fieldTypeDef: () => FieldTypeDef;
2986
- /**
2987
- * Retrieve a the current value in the LLM environment, of type File
2988
- */
2989
- file: () => File;
2990
- /**
2991
- * Retrieve a the current value in the LLM environment, of type Function
2992
- */
2993
- function_: () => Function_;
2994
- /**
2995
- * Retrieve a the current value in the LLM environment, of type FunctionArg
2996
- */
2997
- functionArg: () => FunctionArg;
2998
- /**
2999
- * Retrieve a the current value in the LLM environment, of type FunctionCall
3000
- */
3001
- functionCall: () => FunctionCall;
3002
- /**
3003
- * Retrieve a the current value in the LLM environment, of type FunctionCallArgValue
3004
- */
3005
- functionCallArgValue: () => FunctionCallArgValue;
3006
- /**
3007
- * Retrieve a the current value in the LLM environment, of type GeneratedCode
3008
- */
3009
- generatedCode: () => GeneratedCode;
3010
- /**
3011
- * Retrieve a variable in the llm environment, of type CacheVolume
3012
- * @param name The name of the variable
3013
- */
3014
- getCacheVolume: (name: string) => CacheVolume;
3015
- /**
3016
- * Retrieve a variable in the llm environment, of type Container
3017
- * @param name The name of the variable
3018
- */
3019
- getContainer: (name: string) => Container;
3020
- /**
3021
- * Retrieve a variable in the llm environment, of type CurrentModule
3022
- * @param name The name of the variable
3023
- */
3024
- getCurrentModule: (name: string) => CurrentModule;
3025
- /**
3026
- * Retrieve a variable in the llm environment, of type Directory
3027
- * @param name The name of the variable
3028
- */
3029
- getDirectory: (name: string) => Directory;
3030
- /**
3031
- * Retrieve a variable in the llm environment, of type EnumTypeDef
3032
- * @param name The name of the variable
3033
- */
3034
- getEnumTypeDef: (name: string) => EnumTypeDef;
3035
- /**
3036
- * Retrieve a variable in the llm environment, of type EnumValueTypeDef
3037
- * @param name The name of the variable
3038
- */
3039
- getEnumValueTypeDef: (name: string) => EnumValueTypeDef;
3040
- /**
3041
- * Retrieve a variable in the llm environment, of type Error
3042
- * @param name The name of the variable
3043
- */
3044
- getError: (name: string) => Error;
3045
- /**
3046
- * Retrieve a variable in the llm environment, of type ErrorValue
3047
- * @param name The name of the variable
3048
- */
3049
- getErrorValue: (name: string) => ErrorValue;
3050
- /**
3051
- * Retrieve a variable in the llm environment, of type FieldTypeDef
3052
- * @param name The name of the variable
3053
- */
3054
- getFieldTypeDef: (name: string) => FieldTypeDef;
3055
- /**
3056
- * Retrieve a variable in the llm environment, of type File
3057
- * @param name The name of the variable
3058
- */
3059
- getFile: (name: string) => File;
3060
- /**
3061
- * Retrieve a variable in the llm environment, of type Function
3062
- * @param name The name of the variable
3063
- */
3064
- getFunction: (name: string) => Function_;
3065
- /**
3066
- * Retrieve a variable in the llm environment, of type FunctionArg
3067
- * @param name The name of the variable
3068
- */
3069
- getFunctionArg: (name: string) => FunctionArg;
3070
- /**
3071
- * Retrieve a variable in the llm environment, of type FunctionCall
3072
- * @param name The name of the variable
3073
- */
3074
- getFunctionCall: (name: string) => FunctionCall;
3075
- /**
3076
- * Retrieve a variable in the llm environment, of type FunctionCallArgValue
3077
- * @param name The name of the variable
3078
- */
3079
- getFunctionCallArgValue: (name: string) => FunctionCallArgValue;
3080
- /**
3081
- * Retrieve a variable in the llm environment, of type GeneratedCode
3082
- * @param name The name of the variable
3083
- */
3084
- getGeneratedCode: (name: string) => GeneratedCode;
3085
- /**
3086
- * Retrieve a variable in the llm environment, of type GitRef
3087
- * @param name The name of the variable
3088
- */
3089
- getGitRef: (name: string) => GitRef;
3090
- /**
3091
- * Retrieve a variable in the llm environment, of type GitRepository
3092
- * @param name The name of the variable
3093
- */
3094
- getGitRepository: (name: string) => GitRepository;
3095
- /**
3096
- * Retrieve a variable in the llm environment, of type InputTypeDef
3097
- * @param name The name of the variable
3098
- */
3099
- getInputTypeDef: (name: string) => InputTypeDef;
3100
- /**
3101
- * Retrieve a variable in the llm environment, of type InterfaceTypeDef
3102
- * @param name The name of the variable
3103
- */
3104
- getInterfaceTypeDef: (name: string) => InterfaceTypeDef;
3105
- /**
3106
- * Retrieve a variable in the llm environment, of type LLM
3107
- * @param name The name of the variable
3108
- */
3109
- getLLM: (name: string) => LLM;
3110
- /**
3111
- * Retrieve a variable in the llm environment, of type ListTypeDef
3112
- * @param name The name of the variable
3113
- */
3114
- getListTypeDef: (name: string) => ListTypeDef;
3115
- /**
3116
- * Retrieve a variable in the llm environment, of type Module
3117
- * @param name The name of the variable
3118
- */
3119
- getModule: (name: string) => Module_;
3120
- /**
3121
- * Retrieve a variable in the llm environment, of type ModuleConfigClient
3122
- * @param name The name of the variable
3123
- */
3124
- getModuleConfigClient: (name: string) => ModuleConfigClient;
3125
- /**
3126
- * Retrieve a variable in the llm environment, of type ModuleSource
3127
- * @param name The name of the variable
3128
- */
3129
- getModuleSource: (name: string) => ModuleSource;
3130
- /**
3131
- * Retrieve a variable in the llm environment, of type ObjectTypeDef
3132
- * @param name The name of the variable
3133
- */
3134
- getObjectTypeDef: (name: string) => ObjectTypeDef;
3135
- /**
3136
- * Retrieve a variable in the llm environment, of type SDKConfig
3137
- * @param name The name of the variable
3138
- */
3139
- getSDKConfig: (name: string) => SDKConfig;
3140
- /**
3141
- * Retrieve a variable in the llm environment, of type ScalarTypeDef
3142
- * @param name The name of the variable
3143
- */
3144
- getScalarTypeDef: (name: string) => ScalarTypeDef;
3256
+ bindResult: (name: string) => Binding;
3145
3257
  /**
3146
- * Retrieve a variable in the llm environment, of type Secret
3147
- * @param name The name of the variable
3258
+ * return the LLM's current environment
3148
3259
  */
3149
- getSecret: (name: string) => Secret;
3150
- /**
3151
- * Retrieve a variable in the llm environment, of type Service
3152
- * @param name The name of the variable
3153
- */
3154
- getService: (name: string) => Service;
3155
- /**
3156
- * Retrieve a variable in the llm environment, of type Socket
3157
- * @param name The name of the variable
3158
- */
3159
- getSocket: (name: string) => Socket;
3160
- /**
3161
- * Retrieve a variable in the llm environment, of type SourceMap
3162
- * @param name The name of the variable
3163
- */
3164
- getSourceMap: (name: string) => SourceMap;
3165
- /**
3166
- * Get a string variable from the LLM's environment
3167
- * @param name The variable name
3168
- */
3169
- getString: (name: string) => Promise<string>;
3170
- /**
3171
- * Retrieve a variable in the llm environment, of type Terminal
3172
- * @param name The name of the variable
3173
- */
3174
- getTerminal: (name: string) => Terminal;
3175
- /**
3176
- * Retrieve a variable in the llm environment, of type TypeDef
3177
- * @param name The name of the variable
3178
- */
3179
- getTypeDef: (name: string) => TypeDef;
3180
- /**
3181
- * Retrieve a the current value in the LLM environment, of type GitRef
3182
- */
3183
- gitRef: () => GitRef;
3184
- /**
3185
- * Retrieve a the current value in the LLM environment, of type GitRepository
3186
- */
3187
- gitRepository: () => GitRepository;
3260
+ env: () => Env;
3188
3261
  /**
3189
3262
  * return the llm message history
3190
3263
  */
@@ -3193,26 +3266,10 @@ export declare class LLM extends BaseClient {
3193
3266
  * return the raw llm message history as json
3194
3267
  */
3195
3268
  historyJSON: () => Promise<string>;
3196
- /**
3197
- * Retrieve a the current value in the LLM environment, of type InputTypeDef
3198
- */
3199
- inputTypeDef: () => InputTypeDef;
3200
- /**
3201
- * Retrieve a the current value in the LLM environment, of type InterfaceTypeDef
3202
- */
3203
- interfaceTypeDef: () => InterfaceTypeDef;
3204
- /**
3205
- * Retrieve a the current value in the LLM environment, of type LLM
3206
- */
3207
- lLM: () => LLM;
3208
3269
  /**
3209
3270
  * return the last llm reply from the history
3210
3271
  */
3211
3272
  lastReply: () => Promise<string>;
3212
- /**
3213
- * Retrieve a the current value in the LLM environment, of type ListTypeDef
3214
- */
3215
- listTypeDef: () => ListTypeDef;
3216
3273
  /**
3217
3274
  * synchronize LLM state
3218
3275
  */
@@ -3221,262 +3278,14 @@ export declare class LLM extends BaseClient {
3221
3278
  * return the model used by the llm
3222
3279
  */
3223
3280
  model: () => Promise<string>;
3224
- /**
3225
- * Retrieve a the current value in the LLM environment, of type Module
3226
- */
3227
- module_: () => Module_;
3228
- /**
3229
- * Retrieve a the current value in the LLM environment, of type ModuleConfigClient
3230
- */
3231
- moduleConfigClient: () => ModuleConfigClient;
3232
- /**
3233
- * Retrieve a the current value in the LLM environment, of type ModuleSource
3234
- */
3235
- moduleSource: () => ModuleSource;
3236
- /**
3237
- * Retrieve a the current value in the LLM environment, of type ObjectTypeDef
3238
- */
3239
- objectTypeDef: () => ObjectTypeDef;
3240
3281
  /**
3241
3282
  * return the provider used by the llm
3242
3283
  */
3243
3284
  provider: () => Promise<string>;
3244
- /**
3245
- * Retrieve a the current value in the LLM environment, of type ScalarTypeDef
3246
- */
3247
- scalarTypeDef: () => ScalarTypeDef;
3248
- /**
3249
- * Retrieve a the current value in the LLM environment, of type SDKConfig
3250
- */
3251
- sdkconfig: () => SDKConfig;
3252
- /**
3253
- * Retrieve a the current value in the LLM environment, of type Secret
3254
- */
3255
- secret: () => Secret;
3256
- /**
3257
- * Retrieve a the current value in the LLM environment, of type Service
3258
- */
3259
- service: () => Service;
3260
- /**
3261
- * Set a variable of type CacheVolume in the llm environment
3262
- * @param name The name of the variable
3263
- * @param value The CacheVolume value to assign to the variable
3264
- */
3265
- setCacheVolume: (name: string, value: CacheVolume) => LLM;
3266
- /**
3267
- * Set a variable of type Container in the llm environment
3268
- * @param name The name of the variable
3269
- * @param value The Container value to assign to the variable
3270
- */
3271
- setContainer: (name: string, value: Container) => LLM;
3272
- /**
3273
- * Set a variable of type CurrentModule in the llm environment
3274
- * @param name The name of the variable
3275
- * @param value The CurrentModule value to assign to the variable
3276
- */
3277
- setCurrentModule: (name: string, value: CurrentModule) => LLM;
3278
- /**
3279
- * Set a variable of type Directory in the llm environment
3280
- * @param name The name of the variable
3281
- * @param value The Directory value to assign to the variable
3282
- */
3283
- setDirectory: (name: string, value: Directory) => LLM;
3284
- /**
3285
- * Set a variable of type EnumTypeDef in the llm environment
3286
- * @param name The name of the variable
3287
- * @param value The EnumTypeDef value to assign to the variable
3288
- */
3289
- setEnumTypeDef: (name: string, value: EnumTypeDef) => LLM;
3290
- /**
3291
- * Set a variable of type EnumValueTypeDef in the llm environment
3292
- * @param name The name of the variable
3293
- * @param value The EnumValueTypeDef value to assign to the variable
3294
- */
3295
- setEnumValueTypeDef: (name: string, value: EnumValueTypeDef) => LLM;
3296
- /**
3297
- * Set a variable of type Error in the llm environment
3298
- * @param name The name of the variable
3299
- * @param value The Error value to assign to the variable
3300
- */
3301
- setError: (name: string, value: Error) => LLM;
3302
- /**
3303
- * Set a variable of type ErrorValue in the llm environment
3304
- * @param name The name of the variable
3305
- * @param value The ErrorValue value to assign to the variable
3306
- */
3307
- setErrorValue: (name: string, value: ErrorValue) => LLM;
3308
- /**
3309
- * Set a variable of type FieldTypeDef in the llm environment
3310
- * @param name The name of the variable
3311
- * @param value The FieldTypeDef value to assign to the variable
3312
- */
3313
- setFieldTypeDef: (name: string, value: FieldTypeDef) => LLM;
3314
- /**
3315
- * Set a variable of type File in the llm environment
3316
- * @param name The name of the variable
3317
- * @param value The File value to assign to the variable
3318
- */
3319
- setFile: (name: string, value: File) => LLM;
3320
- /**
3321
- * Set a variable of type Function in the llm environment
3322
- * @param name The name of the variable
3323
- * @param value The Function value to assign to the variable
3324
- */
3325
- setFunction: (name: string, value: Function_) => LLM;
3326
- /**
3327
- * Set a variable of type FunctionArg in the llm environment
3328
- * @param name The name of the variable
3329
- * @param value The FunctionArg value to assign to the variable
3330
- */
3331
- setFunctionArg: (name: string, value: FunctionArg) => LLM;
3332
- /**
3333
- * Set a variable of type FunctionCall in the llm environment
3334
- * @param name The name of the variable
3335
- * @param value The FunctionCall value to assign to the variable
3336
- */
3337
- setFunctionCall: (name: string, value: FunctionCall) => LLM;
3338
- /**
3339
- * Set a variable of type FunctionCallArgValue in the llm environment
3340
- * @param name The name of the variable
3341
- * @param value The FunctionCallArgValue value to assign to the variable
3342
- */
3343
- setFunctionCallArgValue: (name: string, value: FunctionCallArgValue) => LLM;
3344
- /**
3345
- * Set a variable of type GeneratedCode in the llm environment
3346
- * @param name The name of the variable
3347
- * @param value The GeneratedCode value to assign to the variable
3348
- */
3349
- setGeneratedCode: (name: string, value: GeneratedCode) => LLM;
3350
- /**
3351
- * Set a variable of type GitRef in the llm environment
3352
- * @param name The name of the variable
3353
- * @param value The GitRef value to assign to the variable
3354
- */
3355
- setGitRef: (name: string, value: GitRef) => LLM;
3356
- /**
3357
- * Set a variable of type GitRepository in the llm environment
3358
- * @param name The name of the variable
3359
- * @param value The GitRepository value to assign to the variable
3360
- */
3361
- setGitRepository: (name: string, value: GitRepository) => LLM;
3362
- /**
3363
- * Set a variable of type InputTypeDef in the llm environment
3364
- * @param name The name of the variable
3365
- * @param value The InputTypeDef value to assign to the variable
3366
- */
3367
- setInputTypeDef: (name: string, value: InputTypeDef) => LLM;
3368
- /**
3369
- * Set a variable of type InterfaceTypeDef in the llm environment
3370
- * @param name The name of the variable
3371
- * @param value The InterfaceTypeDef value to assign to the variable
3372
- */
3373
- setInterfaceTypeDef: (name: string, value: InterfaceTypeDef) => LLM;
3374
- /**
3375
- * Set a variable of type LLM in the llm environment
3376
- * @param name The name of the variable
3377
- * @param value The LLM value to assign to the variable
3378
- */
3379
- setLLM: (name: string, value: LLM) => LLM;
3380
- /**
3381
- * Set a variable of type ListTypeDef in the llm environment
3382
- * @param name The name of the variable
3383
- * @param value The ListTypeDef value to assign to the variable
3384
- */
3385
- setListTypeDef: (name: string, value: ListTypeDef) => LLM;
3386
- /**
3387
- * Set a variable of type Module in the llm environment
3388
- * @param name The name of the variable
3389
- * @param value The Module value to assign to the variable
3390
- */
3391
- setModule: (name: string, value: Module_) => LLM;
3392
- /**
3393
- * Set a variable of type ModuleConfigClient in the llm environment
3394
- * @param name The name of the variable
3395
- * @param value The ModuleConfigClient value to assign to the variable
3396
- */
3397
- setModuleConfigClient: (name: string, value: ModuleConfigClient) => LLM;
3398
- /**
3399
- * Set a variable of type ModuleSource in the llm environment
3400
- * @param name The name of the variable
3401
- * @param value The ModuleSource value to assign to the variable
3402
- */
3403
- setModuleSource: (name: string, value: ModuleSource) => LLM;
3404
- /**
3405
- * Set a variable of type ObjectTypeDef in the llm environment
3406
- * @param name The name of the variable
3407
- * @param value The ObjectTypeDef value to assign to the variable
3408
- */
3409
- setObjectTypeDef: (name: string, value: ObjectTypeDef) => LLM;
3410
- /**
3411
- * Set a variable of type SDKConfig in the llm environment
3412
- * @param name The name of the variable
3413
- * @param value The SDKConfig value to assign to the variable
3414
- */
3415
- setSDKConfig: (name: string, value: SDKConfig) => LLM;
3416
- /**
3417
- * Set a variable of type ScalarTypeDef in the llm environment
3418
- * @param name The name of the variable
3419
- * @param value The ScalarTypeDef value to assign to the variable
3420
- */
3421
- setScalarTypeDef: (name: string, value: ScalarTypeDef) => LLM;
3422
- /**
3423
- * Set a variable of type Secret in the llm environment
3424
- * @param name The name of the variable
3425
- * @param value The Secret value to assign to the variable
3426
- */
3427
- setSecret: (name: string, value: Secret) => LLM;
3428
- /**
3429
- * Set a variable of type Service in the llm environment
3430
- * @param name The name of the variable
3431
- * @param value The Service value to assign to the variable
3432
- */
3433
- setService: (name: string, value: Service) => LLM;
3434
- /**
3435
- * Set a variable of type Socket in the llm environment
3436
- * @param name The name of the variable
3437
- * @param value The Socket value to assign to the variable
3438
- */
3439
- setSocket: (name: string, value: Socket) => LLM;
3440
- /**
3441
- * Set a variable of type SourceMap in the llm environment
3442
- * @param name The name of the variable
3443
- * @param value The SourceMap value to assign to the variable
3444
- */
3445
- setSourceMap: (name: string, value: SourceMap) => LLM;
3446
- /**
3447
- * Add a string variable to the LLM's environment
3448
- * @param name The variable name
3449
- * @param value The variable value
3450
- */
3451
- setString: (name: string, value: string) => LLM;
3452
- /**
3453
- * Set a variable of type Terminal in the llm environment
3454
- * @param name The name of the variable
3455
- * @param value The Terminal value to assign to the variable
3456
- */
3457
- setTerminal: (name: string, value: Terminal) => LLM;
3458
- /**
3459
- * Set a variable of type TypeDef in the llm environment
3460
- * @param name The name of the variable
3461
- * @param value The TypeDef value to assign to the variable
3462
- */
3463
- setTypeDef: (name: string, value: TypeDef) => LLM;
3464
- /**
3465
- * Retrieve a the current value in the LLM environment, of type Socket
3466
- */
3467
- socket: () => Socket;
3468
- /**
3469
- * Retrieve a the current value in the LLM environment, of type SourceMap
3470
- */
3471
- sourceMap: () => SourceMap;
3472
3285
  /**
3473
3286
  * synchronize LLM state
3474
3287
  */
3475
3288
  sync: () => Promise<LLM>;
3476
- /**
3477
- * Retrieve a the current value in the LLM environment, of type Terminal
3478
- */
3479
- terminal: () => Terminal;
3480
3289
  /**
3481
3290
  * returns the token usage of the current state
3482
3291
  */
@@ -3486,143 +3295,14 @@ export declare class LLM extends BaseClient {
3486
3295
  */
3487
3296
  tools: () => Promise<string>;
3488
3297
  /**
3489
- * Retrieve a the current value in the LLM environment, of type TypeDef
3490
- */
3491
- typeDef: () => TypeDef;
3492
- /**
3493
- * list variables in the LLM environment
3494
- */
3495
- variables: () => Promise<LLMVariable[]>;
3496
- /**
3497
- * Set a variable of type CacheVolume in the llm environment
3498
- * @param value The CacheVolume value to assign to the variable
3499
- */
3500
- withCacheVolume: (value: CacheVolume) => LLM;
3501
- /**
3502
- * Set a variable of type Container in the llm environment
3503
- * @param value The Container value to assign to the variable
3504
- */
3505
- withContainer: (value: Container) => LLM;
3506
- /**
3507
- * Set a variable of type CurrentModule in the llm environment
3508
- * @param value The CurrentModule value to assign to the variable
3509
- */
3510
- withCurrentModule: (value: CurrentModule) => LLM;
3511
- /**
3512
- * Set a variable of type Directory in the llm environment
3513
- * @param value The Directory value to assign to the variable
3514
- */
3515
- withDirectory: (value: Directory) => LLM;
3516
- /**
3517
- * Set a variable of type EnumTypeDef in the llm environment
3518
- * @param value The EnumTypeDef value to assign to the variable
3519
- */
3520
- withEnumTypeDef: (value: EnumTypeDef) => LLM;
3521
- /**
3522
- * Set a variable of type EnumValueTypeDef in the llm environment
3523
- * @param value The EnumValueTypeDef value to assign to the variable
3524
- */
3525
- withEnumValueTypeDef: (value: EnumValueTypeDef) => LLM;
3526
- /**
3527
- * Set a variable of type Error in the llm environment
3528
- * @param value The Error value to assign to the variable
3529
- */
3530
- withError: (value: Error) => LLM;
3531
- /**
3532
- * Set a variable of type ErrorValue in the llm environment
3533
- * @param value The ErrorValue value to assign to the variable
3534
- */
3535
- withErrorValue: (value: ErrorValue) => LLM;
3536
- /**
3537
- * Set a variable of type FieldTypeDef in the llm environment
3538
- * @param value The FieldTypeDef value to assign to the variable
3539
- */
3540
- withFieldTypeDef: (value: FieldTypeDef) => LLM;
3541
- /**
3542
- * Set a variable of type File in the llm environment
3543
- * @param value The File value to assign to the variable
3544
- */
3545
- withFile: (value: File) => LLM;
3546
- /**
3547
- * Set a variable of type Function in the llm environment
3548
- * @param value The Function value to assign to the variable
3549
- */
3550
- withFunction: (value: Function_) => LLM;
3551
- /**
3552
- * Set a variable of type FunctionArg in the llm environment
3553
- * @param value The FunctionArg value to assign to the variable
3554
- */
3555
- withFunctionArg: (value: FunctionArg) => LLM;
3556
- /**
3557
- * Set a variable of type FunctionCall in the llm environment
3558
- * @param value The FunctionCall value to assign to the variable
3559
- */
3560
- withFunctionCall: (value: FunctionCall) => LLM;
3561
- /**
3562
- * Set a variable of type FunctionCallArgValue in the llm environment
3563
- * @param value The FunctionCallArgValue value to assign to the variable
3564
- */
3565
- withFunctionCallArgValue: (value: FunctionCallArgValue) => LLM;
3566
- /**
3567
- * Set a variable of type GeneratedCode in the llm environment
3568
- * @param value The GeneratedCode value to assign to the variable
3569
- */
3570
- withGeneratedCode: (value: GeneratedCode) => LLM;
3571
- /**
3572
- * Set a variable of type GitRef in the llm environment
3573
- * @param value The GitRef value to assign to the variable
3574
- */
3575
- withGitRef: (value: GitRef) => LLM;
3576
- /**
3577
- * Set a variable of type GitRepository in the llm environment
3578
- * @param value The GitRepository value to assign to the variable
3298
+ * allow the LLM to interact with an environment via MCP
3579
3299
  */
3580
- withGitRepository: (value: GitRepository) => LLM;
3581
- /**
3582
- * Set a variable of type InputTypeDef in the llm environment
3583
- * @param value The InputTypeDef value to assign to the variable
3584
- */
3585
- withInputTypeDef: (value: InputTypeDef) => LLM;
3586
- /**
3587
- * Set a variable of type InterfaceTypeDef in the llm environment
3588
- * @param value The InterfaceTypeDef value to assign to the variable
3589
- */
3590
- withInterfaceTypeDef: (value: InterfaceTypeDef) => LLM;
3591
- /**
3592
- * Set a variable of type LLM in the llm environment
3593
- * @param value The LLM value to assign to the variable
3594
- */
3595
- withLLM: (value: LLM) => LLM;
3596
- /**
3597
- * Set a variable of type ListTypeDef in the llm environment
3598
- * @param value The ListTypeDef value to assign to the variable
3599
- */
3600
- withListTypeDef: (value: ListTypeDef) => LLM;
3300
+ withEnv: (env: Env) => LLM;
3601
3301
  /**
3602
3302
  * swap out the llm model
3603
3303
  * @param model The model to use
3604
3304
  */
3605
3305
  withModel: (model: string) => LLM;
3606
- /**
3607
- * Set a variable of type Module in the llm environment
3608
- * @param value The Module value to assign to the variable
3609
- */
3610
- withModule: (value: Module_) => LLM;
3611
- /**
3612
- * Set a variable of type ModuleConfigClient in the llm environment
3613
- * @param value The ModuleConfigClient value to assign to the variable
3614
- */
3615
- withModuleConfigClient: (value: ModuleConfigClient) => LLM;
3616
- /**
3617
- * Set a variable of type ModuleSource in the llm environment
3618
- * @param value The ModuleSource value to assign to the variable
3619
- */
3620
- withModuleSource: (value: ModuleSource) => LLM;
3621
- /**
3622
- * Set a variable of type ObjectTypeDef in the llm environment
3623
- * @param value The ObjectTypeDef value to assign to the variable
3624
- */
3625
- withObjectTypeDef: (value: ObjectTypeDef) => LLM;
3626
3306
  /**
3627
3307
  * append a prompt to the llm context
3628
3308
  * @param prompt The prompt to send
@@ -3633,61 +3313,15 @@ export declare class LLM extends BaseClient {
3633
3313
  * @param file The file to read the prompt from
3634
3314
  */
3635
3315
  withPromptFile: (file: File) => LLM;
3636
- /**
3637
- * Add a string variable to the LLM's environment
3638
- * @param name The variable name
3639
- * @param value The variable value
3640
- */
3641
- withPromptVar: (name: string, value: string) => LLM;
3642
3316
  /**
3643
3317
  * Provide the entire Query object to the LLM
3644
3318
  */
3645
3319
  withQuery: () => LLM;
3646
- /**
3647
- * Set a variable of type SDKConfig in the llm environment
3648
- * @param value The SDKConfig value to assign to the variable
3649
- */
3650
- withSDKConfig: (value: SDKConfig) => LLM;
3651
- /**
3652
- * Set a variable of type ScalarTypeDef in the llm environment
3653
- * @param value The ScalarTypeDef value to assign to the variable
3654
- */
3655
- withScalarTypeDef: (value: ScalarTypeDef) => LLM;
3656
- /**
3657
- * Set a variable of type Secret in the llm environment
3658
- * @param value The Secret value to assign to the variable
3659
- */
3660
- withSecret: (value: Secret) => LLM;
3661
- /**
3662
- * Set a variable of type Service in the llm environment
3663
- * @param value The Service value to assign to the variable
3664
- */
3665
- withService: (value: Service) => LLM;
3666
- /**
3667
- * Set a variable of type Socket in the llm environment
3668
- * @param value The Socket value to assign to the variable
3669
- */
3670
- withSocket: (value: Socket) => LLM;
3671
- /**
3672
- * Set a variable of type SourceMap in the llm environment
3673
- * @param value The SourceMap value to assign to the variable
3674
- */
3675
- withSourceMap: (value: SourceMap) => LLM;
3676
3320
  /**
3677
3321
  * Add a system prompt to the LLM's environment
3678
3322
  * @param prompt The system prompt to send
3679
3323
  */
3680
3324
  withSystemPrompt: (prompt: string) => LLM;
3681
- /**
3682
- * Set a variable of type Terminal in the llm environment
3683
- * @param value The Terminal value to assign to the variable
3684
- */
3685
- withTerminal: (value: Terminal) => LLM;
3686
- /**
3687
- * Set a variable of type TypeDef in the llm environment
3688
- * @param value The TypeDef value to assign to the variable
3689
- */
3690
- withTypeDef: (value: TypeDef) => LLM;
3691
3325
  /**
3692
3326
  * Call the provided function with current LLM.
3693
3327
  *
@@ -3712,23 +3346,6 @@ export declare class LLMTokenUsage extends BaseClient {
3712
3346
  outputTokens: () => Promise<number>;
3713
3347
  totalTokens: () => Promise<number>;
3714
3348
  }
3715
- export declare class LLMVariable extends BaseClient {
3716
- private readonly _id?;
3717
- private readonly _hash?;
3718
- private readonly _name?;
3719
- private readonly _typeName?;
3720
- /**
3721
- * Constructor is used for internal usage only, do not create object from it.
3722
- */
3723
- constructor(ctx?: Context, _id?: LLMVariableID, _hash?: string, _name?: string, _typeName?: string);
3724
- /**
3725
- * A unique identifier for this LLMVariable.
3726
- */
3727
- id: () => Promise<LLMVariableID>;
3728
- hash: () => Promise<string>;
3729
- name: () => Promise<string>;
3730
- typeName: () => Promise<string>;
3731
- }
3732
3349
  /**
3733
3350
  * A simple key value object that represents a label.
3734
3351
  */
@@ -4213,6 +3830,10 @@ export declare class Client extends BaseClient {
4213
3830
  * The Dagger engine container configuration and state
4214
3831
  */
4215
3832
  engine: () => Engine;
3833
+ /**
3834
+ * Initialize a new environment
3835
+ */
3836
+ env: () => Env;
4216
3837
  /**
4217
3838
  * Create a new error.
4218
3839
  * @param message A brief description of the error.
@@ -4257,6 +3878,10 @@ export declare class Client extends BaseClient {
4257
3878
  * @param opts.maxAPICalls Cap the number of API calls for this LLM
4258
3879
  */
4259
3880
  llm: (opts?: ClientLlmOpts) => LLM;
3881
+ /**
3882
+ * Load a Binding from its ID.
3883
+ */
3884
+ loadBindingFromID: (id: BindingID) => Binding;
4260
3885
  /**
4261
3886
  * Load a CacheVolume from its ID.
4262
3887
  */
@@ -4297,6 +3922,10 @@ export declare class Client extends BaseClient {
4297
3922
  * Load a EnumValueTypeDef from its ID.
4298
3923
  */
4299
3924
  loadEnumValueTypeDefFromID: (id: EnumValueTypeDefID) => EnumValueTypeDef;
3925
+ /**
3926
+ * Load a Env from its ID.
3927
+ */
3928
+ loadEnvFromID: (id: EnvID) => Env;
4300
3929
  /**
4301
3930
  * Load a EnvVariable from its ID.
4302
3931
  */
@@ -4365,10 +3994,6 @@ export declare class Client extends BaseClient {
4365
3994
  * Load a LLMTokenUsage from its ID.
4366
3995
  */
4367
3996
  loadLLMTokenUsageFromID: (id: LLMTokenUsageID) => LLMTokenUsage;
4368
- /**
4369
- * Load a LLMVariable from its ID.
4370
- */
4371
- loadLLMVariableFromID: (id: LLMVariableID) => LLMVariable;
4372
3997
  /**
4373
3998
  * Load a Label from its ID.
4374
3999
  */