@kortexya/reasoninglayer 0.18.0 → 0.20.0

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.
package/dist/index.d.cts CHANGED
@@ -109,7 +109,7 @@ type JsonValue$1 = string | number | boolean | null | JsonValue$1[] | object;
109
109
  * This is the single source of truth for the version constant.
110
110
  * The `scripts/release.sh` script updates this value alongside `package.json`.
111
111
  */
112
- declare const SDK_VERSION = "0.18.0";
112
+ declare const SDK_VERSION = "0.20.0";
113
113
  /**
114
114
  * Configuration for the Reasoning Layer client.
115
115
  *
@@ -1043,6 +1043,20 @@ interface AssignmentDto {
1043
1043
  agent_id: string;
1044
1044
  /** @min 0 */
1045
1045
  day: number;
1046
+ /**
1047
+ * Roles the agent can or must fill at this cell.
1048
+ *
1049
+ * - When `status = confirmed_true`: the role(s) the agent
1050
+ * must fill at this cell. Usually a single entry.
1051
+ * - When `status = free`: the set of roles the agent could
1052
+ * fill across valid schedules that place them here.
1053
+ * - When `status = confirmed_false`: always empty.
1054
+ *
1055
+ * The reserved string `"any"` denotes routing through the
1056
+ * unroled sub-slot pool (i.e. the agent is "just there",
1057
+ * not counting toward any role minimum at this slot).
1058
+ */
1059
+ roles: string[];
1046
1060
  /** @min 0 */
1047
1061
  shift: number;
1048
1062
  /**
@@ -11473,11 +11487,30 @@ interface PendingReviewEntityDto {
11473
11487
  /** Original text span that was extracted */
11474
11488
  source_text?: string | null;
11475
11489
  }
11476
- /** A pre-assigned `(agent, day, shift)` triple. */
11490
+ /**
11491
+ * A pre-assigned `(agent, day, shift)` triple, optionally naming
11492
+ * which role the pin covers.
11493
+ *
11494
+ * When the agent has **multiple roles that each match a role
11495
+ * minimum** at the target slot, the caller MUST set [`PinInput::role`]
11496
+ * to disambiguate. Otherwise the engine returns HTTP 400 — the
11497
+ * silent greedy-match that used to happen here could pick the
11498
+ * "wrong" role and produce spurious infeasibility.
11499
+ *
11500
+ * Role semantics:
11501
+ * * `None` — caller hasn't chosen. Valid only if the agent has at
11502
+ * most one role matching this slot's role_mins.
11503
+ * * `Some("any")` — explicit request to route through the
11504
+ * unroled pool; no role minimum is decremented.
11505
+ * * `Some(role)` — force the pin to cover this role. Must be a
11506
+ * role the agent possesses (HTTP 400 otherwise).
11507
+ */
11477
11508
  interface PinInput {
11478
11509
  agent_id: string;
11479
11510
  /** @min 0 */
11480
11511
  day: number;
11512
+ /** Role the pin covers. See struct-level docs for the cases. */
11513
+ role?: string | null;
11481
11514
  /** @min 0 */
11482
11515
  shift: number;
11483
11516
  }
@@ -39257,7 +39290,7 @@ declare class Scheduling<SecurityDataType = unknown> {
39257
39290
  http: HttpClient<SecurityDataType>;
39258
39291
  constructor(http: HttpClient<SecurityDataType>);
39259
39292
  /**
39260
- * @description Classify every `(agent, day, shift)` cell in the input grid as confirmed-true, confirmed-false, or free. Input validation errors (duplicate agent IDs, out-of-range pins, role minima exceeding total demand, etc.) return HTTP 400. Infeasibility of a well-formed problem is a valid answer and returns HTTP 200 with `status = "infeasible"` and an empty `assignments` list.
39293
+ * @description Classify every `(agent, day, shift)` cell in the input grid as confirmed-true, confirmed-false, or free, and list the role(s) each cell could cover. Input validation errors (duplicate agent IDs, out-of-range pins, role minima exceeding total demand, pin role the agent doesn't have, pin on a multi-role agent where the role is ambiguous, etc.) return HTTP 400. Infeasibility of a well-formed problem is a valid answer and returns HTTP 200 with `status = "infeasible"` and an empty `assignments` list.
39261
39294
  *
39262
39295
  * @tags scheduling
39263
39296
  * @name Feasibility
@@ -39334,14 +39367,38 @@ interface ShiftDemand {
39334
39367
  */
39335
39368
  roleMinimums?: Record<string, number>;
39336
39369
  }
39370
+ /**
39371
+ * Reserved role-name for the unroled ("any") sub-slot pool.
39372
+ *
39373
+ * Use this value for {@link Pin.role} when you want the pin to NOT
39374
+ * decrement any role minimum (agent fills the "any" slack). Also
39375
+ * appears in {@link Assignment.roles} when the agent routes through
39376
+ * that pool.
39377
+ */
39378
+ declare const ANY_ROLE = "any";
39337
39379
  /**
39338
39380
  * A pre-assigned `(agent, day, shift)` triple. The engine treats the
39339
39381
  * pin as confirmed-true and reduces the slot's remaining demand.
39382
+ *
39383
+ * When the agent has **multiple roles that each match a role
39384
+ * minimum** at the target slot, the caller MUST set {@link Pin.role}
39385
+ * to disambiguate. Otherwise the backend returns HTTP 400 with an
39386
+ * "ambiguous pin role" error listing the candidate roles.
39387
+ *
39388
+ * Role semantics:
39389
+ * - `undefined` — no role specified. Valid only when the agent has
39390
+ * at most one role matching this slot's role minimums.
39391
+ * - `"any"` (see {@link ANY_ROLE}) — route through the unroled pool;
39392
+ * no role minimum is decremented.
39393
+ * - `"<role>"` — force the pin to cover this role. Must be a role
39394
+ * the agent possesses (HTTP 400 otherwise).
39340
39395
  */
39341
39396
  interface Pin {
39342
39397
  agentId: string;
39343
39398
  day: number;
39344
39399
  shift: number;
39400
+ /** Role the pin covers. See docs above for the cases. */
39401
+ role?: string;
39345
39402
  }
39346
39403
  /**
39347
39404
  * Input to {@link SchedulingClient.feasibility}.
@@ -39372,6 +39429,19 @@ interface Assignment {
39372
39429
  day: number;
39373
39430
  shift: number;
39374
39431
  status: AssignmentStatus;
39432
+ /**
39433
+ * Roles the agent can or must fill at this cell.
39434
+ *
39435
+ * - When `status === 'confirmed_true'`: the role(s) the agent must
39436
+ * fill at this cell. Usually a single entry.
39437
+ * - When `status === 'free'`: the set of roles the agent could fill
39438
+ * across valid schedules that place them here.
39439
+ * - When `status === 'confirmed_false'`: always empty.
39440
+ *
39441
+ * The reserved string {@link ANY_ROLE} (`"any"`) denotes routing
39442
+ * through the unroled sub-slot pool.
39443
+ */
39444
+ roles: string[];
39375
39445
  }
39376
39446
  /**
39377
39447
  * Response from {@link SchedulingClient.feasibility}.
@@ -39387,6 +39457,7 @@ interface SchedulingFeasibilityResponse {
39387
39457
  assignments: Assignment[];
39388
39458
  }
39389
39459
 
39460
+ declare const scheduling_ANY_ROLE: typeof ANY_ROLE;
39390
39461
  type scheduling_AgentSpec = AgentSpec;
39391
39462
  type scheduling_Assignment = Assignment;
39392
39463
  type scheduling_AssignmentStatus = AssignmentStatus;
@@ -39396,7 +39467,7 @@ type scheduling_SchedulingFeasibilityResponse = SchedulingFeasibilityResponse;
39396
39467
  type scheduling_SchedulingStatus = SchedulingStatus;
39397
39468
  type scheduling_ShiftDemand = ShiftDemand;
39398
39469
  declare namespace scheduling {
39399
- export type { scheduling_AgentSpec as AgentSpec, scheduling_Assignment as Assignment, scheduling_AssignmentStatus as AssignmentStatus, scheduling_Pin as Pin, scheduling_SchedulingFeasibilityRequest as SchedulingFeasibilityRequest, scheduling_SchedulingFeasibilityResponse as SchedulingFeasibilityResponse, scheduling_SchedulingStatus as SchedulingStatus, scheduling_ShiftDemand as ShiftDemand };
39470
+ export { scheduling_ANY_ROLE as ANY_ROLE, type scheduling_AgentSpec as AgentSpec, type scheduling_Assignment as Assignment, type scheduling_AssignmentStatus as AssignmentStatus, type scheduling_Pin as Pin, type scheduling_SchedulingFeasibilityRequest as SchedulingFeasibilityRequest, type scheduling_SchedulingFeasibilityResponse as SchedulingFeasibilityResponse, type scheduling_SchedulingStatus as SchedulingStatus, type scheduling_ShiftDemand as ShiftDemand };
39400
39471
  }
39401
39472
 
39402
39473
  /**
@@ -42334,4 +42405,4 @@ declare function toUntaggedFeatures(features: PlainFeatureMap): Record<string, F
42334
42405
  */
42335
42406
  declare function toTermInputDto(input: PsiTermInput | TermInputDto): TermInputDto;
42336
42407
 
42337
- export { actionReviews as ActionReviews, type AddFactRequest, type AddFactResponse, type AddRuleRequest, type AddRuleResponse, admin as Admin, type AiGroup, analysis as Analysis, type AnalysisGroup, ApiError, type ApiResponse, AuthenticationError, type BackwardChainRequest, type BackwardChainResponse, BadRequestError, type BulkAddTermsRequest, type BulkAddTermsResponse, type BulkCreateSortsRequest, type BulkCreateSortsResponse, cdl as CDL, causal as Causal, type ClearTermsResponse, type ClientConfig, cognitive as Cognitive, collections as Collections, communities as Communities, type ConstrainedPlainVar, ConstraintViolationError, constraints as Constraints, control as Control, conversation as Conversation, type ConversationMessageRequest, type ConversationMessageResponse, type ConversationSummaryDto, type ConversationTurnsResponse, type CoreGroup, type CreateResearchSessionRequest, type CreateResearchSessionResponse, type CreateSortRequest, type CreateTermRequest, type DataGroup, discovery as Discovery, type ErrorResponse$1 as ErrorResponse, execution as Execution, extract as Extract, type FeatureInputValueDto, type FeatureValueDto, ForbiddenError, type ForwardChainRequest, type ForwardChainResponse, functions as Functions, fuzzy as Fuzzy, FuzzyShape, type FuzzyShapeDto, generation as Generation, type GlbRequest, type GlbResponse, health as Health, homoiconic as Homoiconic, ilp as ILP, imageExtraction as ImageExtraction, inference as Inference, type IngestPaperRequest, type IngestPaperResponse, ingestion as Ingestion, IngestionFailedError, IngestionSession, type IngestionSyncOptions, type Interceptor, InternalServerError, type JsonValue$1 as JsonValue, LP, type ListConversationsResponse, type LubRequest, type LubResponse, namespaces as Namespaces, NetworkError, neuroSymbolic as NeuroSymbolic, NotFoundError, ontology as Ontology, optimize as Optimize, type OsfSearchRequest, type OsfSearchResponse, osfql as Osfql, type OsfqlRequest, type OsfqlResponse, type OsfqlValue, oversight as Oversight, type PaginationParams, type PaperMetadataDto, type PaperSource, type PlainFeatureMap, type PlainFeatureValue, plainValues as PlainValues, preferences as Preferences, proofEngine as ProofEngine, type PsiTermDto, type PsiTermInput, query as Query, rag as RAG, RateLimitError, type RateLimitInfo, reasoning as Reasoning, type ReasoningGroup, ReasoningLayerClient, ReasoningLayerError, type RequestOptions, research as Research, type ResearchContradictionsResponse, type ResearchCycleResponse, type ResearchFindingsResponse, type ResearchGapsResponse, type ResearchReportResponse, type ResearchSessionResponse, reviews as Reviews, row as Row, SDK_VERSION, scenarios as Scenarios, scheduling as Scheduling, type SearchPapersRequest, type SearchPapersResponse, SortBuilder, type SortDto, type SortInfoDto, sorts as Sorts, sources as Sources, spaces as Spaces, statistical as Statistical, synthetic as Synthetic, type SystemGroup, type TermDto, type TermInputArg, type TermInputDto, type TermListResponse, type TermPatternDto, type TermResponse, terms as Terms, TimeoutError, type TurnDto, type UpdateTermRequest, utilities as Utilities, ValidationError, Value, type ValueDto, values as Values, type VerifyClaimRequest, type VerifyClaimResponse, visualization as Visualization, WebSocketClient, WebSocketConnection, webhookActions as WebhookActions, type WorkflowGroup, allen, constrained, discriminateFeatureValue, guard, isConstrainedPlainVar, isPsiTermInput, isTaggedValueDto, isUuid, psi, toTaggedFeatures, toTaggedValue, toTermInputDto, toUntaggedFeatures, toUntaggedValue };
42408
+ export { ANY_ROLE, actionReviews as ActionReviews, type AddFactRequest, type AddFactResponse, type AddRuleRequest, type AddRuleResponse, admin as Admin, type AiGroup, analysis as Analysis, type AnalysisGroup, ApiError, type ApiResponse, AuthenticationError, type BackwardChainRequest, type BackwardChainResponse, BadRequestError, type BulkAddTermsRequest, type BulkAddTermsResponse, type BulkCreateSortsRequest, type BulkCreateSortsResponse, cdl as CDL, causal as Causal, type ClearTermsResponse, type ClientConfig, cognitive as Cognitive, collections as Collections, communities as Communities, type ConstrainedPlainVar, ConstraintViolationError, constraints as Constraints, control as Control, conversation as Conversation, type ConversationMessageRequest, type ConversationMessageResponse, type ConversationSummaryDto, type ConversationTurnsResponse, type CoreGroup, type CreateResearchSessionRequest, type CreateResearchSessionResponse, type CreateSortRequest, type CreateTermRequest, type DataGroup, discovery as Discovery, type ErrorResponse$1 as ErrorResponse, execution as Execution, extract as Extract, type FeatureInputValueDto, type FeatureValueDto, ForbiddenError, type ForwardChainRequest, type ForwardChainResponse, functions as Functions, fuzzy as Fuzzy, FuzzyShape, type FuzzyShapeDto, generation as Generation, type GlbRequest, type GlbResponse, health as Health, homoiconic as Homoiconic, ilp as ILP, imageExtraction as ImageExtraction, inference as Inference, type IngestPaperRequest, type IngestPaperResponse, ingestion as Ingestion, IngestionFailedError, IngestionSession, type IngestionSyncOptions, type Interceptor, InternalServerError, type JsonValue$1 as JsonValue, LP, type ListConversationsResponse, type LubRequest, type LubResponse, namespaces as Namespaces, NetworkError, neuroSymbolic as NeuroSymbolic, NotFoundError, ontology as Ontology, optimize as Optimize, type OsfSearchRequest, type OsfSearchResponse, osfql as Osfql, type OsfqlRequest, type OsfqlResponse, type OsfqlValue, oversight as Oversight, type PaginationParams, type PaperMetadataDto, type PaperSource, type PlainFeatureMap, type PlainFeatureValue, plainValues as PlainValues, preferences as Preferences, proofEngine as ProofEngine, type PsiTermDto, type PsiTermInput, query as Query, rag as RAG, RateLimitError, type RateLimitInfo, reasoning as Reasoning, type ReasoningGroup, ReasoningLayerClient, ReasoningLayerError, type RequestOptions, research as Research, type ResearchContradictionsResponse, type ResearchCycleResponse, type ResearchFindingsResponse, type ResearchGapsResponse, type ResearchReportResponse, type ResearchSessionResponse, reviews as Reviews, row as Row, SDK_VERSION, scenarios as Scenarios, scheduling as Scheduling, type SearchPapersRequest, type SearchPapersResponse, SortBuilder, type SortDto, type SortInfoDto, sorts as Sorts, sources as Sources, spaces as Spaces, statistical as Statistical, synthetic as Synthetic, type SystemGroup, type TermDto, type TermInputArg, type TermInputDto, type TermListResponse, type TermPatternDto, type TermResponse, terms as Terms, TimeoutError, type TurnDto, type UpdateTermRequest, utilities as Utilities, ValidationError, Value, type ValueDto, values as Values, type VerifyClaimRequest, type VerifyClaimResponse, visualization as Visualization, WebSocketClient, WebSocketConnection, webhookActions as WebhookActions, type WorkflowGroup, allen, constrained, discriminateFeatureValue, guard, isConstrainedPlainVar, isPsiTermInput, isTaggedValueDto, isUuid, psi, toTaggedFeatures, toTaggedValue, toTermInputDto, toUntaggedFeatures, toUntaggedValue };
package/dist/index.d.ts CHANGED
@@ -109,7 +109,7 @@ type JsonValue$1 = string | number | boolean | null | JsonValue$1[] | object;
109
109
  * This is the single source of truth for the version constant.
110
110
  * The `scripts/release.sh` script updates this value alongside `package.json`.
111
111
  */
112
- declare const SDK_VERSION = "0.18.0";
112
+ declare const SDK_VERSION = "0.20.0";
113
113
  /**
114
114
  * Configuration for the Reasoning Layer client.
115
115
  *
@@ -1043,6 +1043,20 @@ interface AssignmentDto {
1043
1043
  agent_id: string;
1044
1044
  /** @min 0 */
1045
1045
  day: number;
1046
+ /**
1047
+ * Roles the agent can or must fill at this cell.
1048
+ *
1049
+ * - When `status = confirmed_true`: the role(s) the agent
1050
+ * must fill at this cell. Usually a single entry.
1051
+ * - When `status = free`: the set of roles the agent could
1052
+ * fill across valid schedules that place them here.
1053
+ * - When `status = confirmed_false`: always empty.
1054
+ *
1055
+ * The reserved string `"any"` denotes routing through the
1056
+ * unroled sub-slot pool (i.e. the agent is "just there",
1057
+ * not counting toward any role minimum at this slot).
1058
+ */
1059
+ roles: string[];
1046
1060
  /** @min 0 */
1047
1061
  shift: number;
1048
1062
  /**
@@ -11473,11 +11487,30 @@ interface PendingReviewEntityDto {
11473
11487
  /** Original text span that was extracted */
11474
11488
  source_text?: string | null;
11475
11489
  }
11476
- /** A pre-assigned `(agent, day, shift)` triple. */
11490
+ /**
11491
+ * A pre-assigned `(agent, day, shift)` triple, optionally naming
11492
+ * which role the pin covers.
11493
+ *
11494
+ * When the agent has **multiple roles that each match a role
11495
+ * minimum** at the target slot, the caller MUST set [`PinInput::role`]
11496
+ * to disambiguate. Otherwise the engine returns HTTP 400 — the
11497
+ * silent greedy-match that used to happen here could pick the
11498
+ * "wrong" role and produce spurious infeasibility.
11499
+ *
11500
+ * Role semantics:
11501
+ * * `None` — caller hasn't chosen. Valid only if the agent has at
11502
+ * most one role matching this slot's role_mins.
11503
+ * * `Some("any")` — explicit request to route through the
11504
+ * unroled pool; no role minimum is decremented.
11505
+ * * `Some(role)` — force the pin to cover this role. Must be a
11506
+ * role the agent possesses (HTTP 400 otherwise).
11507
+ */
11477
11508
  interface PinInput {
11478
11509
  agent_id: string;
11479
11510
  /** @min 0 */
11480
11511
  day: number;
11512
+ /** Role the pin covers. See struct-level docs for the cases. */
11513
+ role?: string | null;
11481
11514
  /** @min 0 */
11482
11515
  shift: number;
11483
11516
  }
@@ -39257,7 +39290,7 @@ declare class Scheduling<SecurityDataType = unknown> {
39257
39290
  http: HttpClient<SecurityDataType>;
39258
39291
  constructor(http: HttpClient<SecurityDataType>);
39259
39292
  /**
39260
- * @description Classify every `(agent, day, shift)` cell in the input grid as confirmed-true, confirmed-false, or free. Input validation errors (duplicate agent IDs, out-of-range pins, role minima exceeding total demand, etc.) return HTTP 400. Infeasibility of a well-formed problem is a valid answer and returns HTTP 200 with `status = "infeasible"` and an empty `assignments` list.
39293
+ * @description Classify every `(agent, day, shift)` cell in the input grid as confirmed-true, confirmed-false, or free, and list the role(s) each cell could cover. Input validation errors (duplicate agent IDs, out-of-range pins, role minima exceeding total demand, pin role the agent doesn't have, pin on a multi-role agent where the role is ambiguous, etc.) return HTTP 400. Infeasibility of a well-formed problem is a valid answer and returns HTTP 200 with `status = "infeasible"` and an empty `assignments` list.
39261
39294
  *
39262
39295
  * @tags scheduling
39263
39296
  * @name Feasibility
@@ -39334,14 +39367,38 @@ interface ShiftDemand {
39334
39367
  */
39335
39368
  roleMinimums?: Record<string, number>;
39336
39369
  }
39370
+ /**
39371
+ * Reserved role-name for the unroled ("any") sub-slot pool.
39372
+ *
39373
+ * Use this value for {@link Pin.role} when you want the pin to NOT
39374
+ * decrement any role minimum (agent fills the "any" slack). Also
39375
+ * appears in {@link Assignment.roles} when the agent routes through
39376
+ * that pool.
39377
+ */
39378
+ declare const ANY_ROLE = "any";
39337
39379
  /**
39338
39380
  * A pre-assigned `(agent, day, shift)` triple. The engine treats the
39339
39381
  * pin as confirmed-true and reduces the slot's remaining demand.
39382
+ *
39383
+ * When the agent has **multiple roles that each match a role
39384
+ * minimum** at the target slot, the caller MUST set {@link Pin.role}
39385
+ * to disambiguate. Otherwise the backend returns HTTP 400 with an
39386
+ * "ambiguous pin role" error listing the candidate roles.
39387
+ *
39388
+ * Role semantics:
39389
+ * - `undefined` — no role specified. Valid only when the agent has
39390
+ * at most one role matching this slot's role minimums.
39391
+ * - `"any"` (see {@link ANY_ROLE}) — route through the unroled pool;
39392
+ * no role minimum is decremented.
39393
+ * - `"<role>"` — force the pin to cover this role. Must be a role
39394
+ * the agent possesses (HTTP 400 otherwise).
39340
39395
  */
39341
39396
  interface Pin {
39342
39397
  agentId: string;
39343
39398
  day: number;
39344
39399
  shift: number;
39400
+ /** Role the pin covers. See docs above for the cases. */
39401
+ role?: string;
39345
39402
  }
39346
39403
  /**
39347
39404
  * Input to {@link SchedulingClient.feasibility}.
@@ -39372,6 +39429,19 @@ interface Assignment {
39372
39429
  day: number;
39373
39430
  shift: number;
39374
39431
  status: AssignmentStatus;
39432
+ /**
39433
+ * Roles the agent can or must fill at this cell.
39434
+ *
39435
+ * - When `status === 'confirmed_true'`: the role(s) the agent must
39436
+ * fill at this cell. Usually a single entry.
39437
+ * - When `status === 'free'`: the set of roles the agent could fill
39438
+ * across valid schedules that place them here.
39439
+ * - When `status === 'confirmed_false'`: always empty.
39440
+ *
39441
+ * The reserved string {@link ANY_ROLE} (`"any"`) denotes routing
39442
+ * through the unroled sub-slot pool.
39443
+ */
39444
+ roles: string[];
39375
39445
  }
39376
39446
  /**
39377
39447
  * Response from {@link SchedulingClient.feasibility}.
@@ -39387,6 +39457,7 @@ interface SchedulingFeasibilityResponse {
39387
39457
  assignments: Assignment[];
39388
39458
  }
39389
39459
 
39460
+ declare const scheduling_ANY_ROLE: typeof ANY_ROLE;
39390
39461
  type scheduling_AgentSpec = AgentSpec;
39391
39462
  type scheduling_Assignment = Assignment;
39392
39463
  type scheduling_AssignmentStatus = AssignmentStatus;
@@ -39396,7 +39467,7 @@ type scheduling_SchedulingFeasibilityResponse = SchedulingFeasibilityResponse;
39396
39467
  type scheduling_SchedulingStatus = SchedulingStatus;
39397
39468
  type scheduling_ShiftDemand = ShiftDemand;
39398
39469
  declare namespace scheduling {
39399
- export type { scheduling_AgentSpec as AgentSpec, scheduling_Assignment as Assignment, scheduling_AssignmentStatus as AssignmentStatus, scheduling_Pin as Pin, scheduling_SchedulingFeasibilityRequest as SchedulingFeasibilityRequest, scheduling_SchedulingFeasibilityResponse as SchedulingFeasibilityResponse, scheduling_SchedulingStatus as SchedulingStatus, scheduling_ShiftDemand as ShiftDemand };
39470
+ export { scheduling_ANY_ROLE as ANY_ROLE, type scheduling_AgentSpec as AgentSpec, type scheduling_Assignment as Assignment, type scheduling_AssignmentStatus as AssignmentStatus, type scheduling_Pin as Pin, type scheduling_SchedulingFeasibilityRequest as SchedulingFeasibilityRequest, type scheduling_SchedulingFeasibilityResponse as SchedulingFeasibilityResponse, type scheduling_SchedulingStatus as SchedulingStatus, type scheduling_ShiftDemand as ShiftDemand };
39400
39471
  }
39401
39472
 
39402
39473
  /**
@@ -42334,4 +42405,4 @@ declare function toUntaggedFeatures(features: PlainFeatureMap): Record<string, F
42334
42405
  */
42335
42406
  declare function toTermInputDto(input: PsiTermInput | TermInputDto): TermInputDto;
42336
42407
 
42337
- export { actionReviews as ActionReviews, type AddFactRequest, type AddFactResponse, type AddRuleRequest, type AddRuleResponse, admin as Admin, type AiGroup, analysis as Analysis, type AnalysisGroup, ApiError, type ApiResponse, AuthenticationError, type BackwardChainRequest, type BackwardChainResponse, BadRequestError, type BulkAddTermsRequest, type BulkAddTermsResponse, type BulkCreateSortsRequest, type BulkCreateSortsResponse, cdl as CDL, causal as Causal, type ClearTermsResponse, type ClientConfig, cognitive as Cognitive, collections as Collections, communities as Communities, type ConstrainedPlainVar, ConstraintViolationError, constraints as Constraints, control as Control, conversation as Conversation, type ConversationMessageRequest, type ConversationMessageResponse, type ConversationSummaryDto, type ConversationTurnsResponse, type CoreGroup, type CreateResearchSessionRequest, type CreateResearchSessionResponse, type CreateSortRequest, type CreateTermRequest, type DataGroup, discovery as Discovery, type ErrorResponse$1 as ErrorResponse, execution as Execution, extract as Extract, type FeatureInputValueDto, type FeatureValueDto, ForbiddenError, type ForwardChainRequest, type ForwardChainResponse, functions as Functions, fuzzy as Fuzzy, FuzzyShape, type FuzzyShapeDto, generation as Generation, type GlbRequest, type GlbResponse, health as Health, homoiconic as Homoiconic, ilp as ILP, imageExtraction as ImageExtraction, inference as Inference, type IngestPaperRequest, type IngestPaperResponse, ingestion as Ingestion, IngestionFailedError, IngestionSession, type IngestionSyncOptions, type Interceptor, InternalServerError, type JsonValue$1 as JsonValue, LP, type ListConversationsResponse, type LubRequest, type LubResponse, namespaces as Namespaces, NetworkError, neuroSymbolic as NeuroSymbolic, NotFoundError, ontology as Ontology, optimize as Optimize, type OsfSearchRequest, type OsfSearchResponse, osfql as Osfql, type OsfqlRequest, type OsfqlResponse, type OsfqlValue, oversight as Oversight, type PaginationParams, type PaperMetadataDto, type PaperSource, type PlainFeatureMap, type PlainFeatureValue, plainValues as PlainValues, preferences as Preferences, proofEngine as ProofEngine, type PsiTermDto, type PsiTermInput, query as Query, rag as RAG, RateLimitError, type RateLimitInfo, reasoning as Reasoning, type ReasoningGroup, ReasoningLayerClient, ReasoningLayerError, type RequestOptions, research as Research, type ResearchContradictionsResponse, type ResearchCycleResponse, type ResearchFindingsResponse, type ResearchGapsResponse, type ResearchReportResponse, type ResearchSessionResponse, reviews as Reviews, row as Row, SDK_VERSION, scenarios as Scenarios, scheduling as Scheduling, type SearchPapersRequest, type SearchPapersResponse, SortBuilder, type SortDto, type SortInfoDto, sorts as Sorts, sources as Sources, spaces as Spaces, statistical as Statistical, synthetic as Synthetic, type SystemGroup, type TermDto, type TermInputArg, type TermInputDto, type TermListResponse, type TermPatternDto, type TermResponse, terms as Terms, TimeoutError, type TurnDto, type UpdateTermRequest, utilities as Utilities, ValidationError, Value, type ValueDto, values as Values, type VerifyClaimRequest, type VerifyClaimResponse, visualization as Visualization, WebSocketClient, WebSocketConnection, webhookActions as WebhookActions, type WorkflowGroup, allen, constrained, discriminateFeatureValue, guard, isConstrainedPlainVar, isPsiTermInput, isTaggedValueDto, isUuid, psi, toTaggedFeatures, toTaggedValue, toTermInputDto, toUntaggedFeatures, toUntaggedValue };
42408
+ export { ANY_ROLE, actionReviews as ActionReviews, type AddFactRequest, type AddFactResponse, type AddRuleRequest, type AddRuleResponse, admin as Admin, type AiGroup, analysis as Analysis, type AnalysisGroup, ApiError, type ApiResponse, AuthenticationError, type BackwardChainRequest, type BackwardChainResponse, BadRequestError, type BulkAddTermsRequest, type BulkAddTermsResponse, type BulkCreateSortsRequest, type BulkCreateSortsResponse, cdl as CDL, causal as Causal, type ClearTermsResponse, type ClientConfig, cognitive as Cognitive, collections as Collections, communities as Communities, type ConstrainedPlainVar, ConstraintViolationError, constraints as Constraints, control as Control, conversation as Conversation, type ConversationMessageRequest, type ConversationMessageResponse, type ConversationSummaryDto, type ConversationTurnsResponse, type CoreGroup, type CreateResearchSessionRequest, type CreateResearchSessionResponse, type CreateSortRequest, type CreateTermRequest, type DataGroup, discovery as Discovery, type ErrorResponse$1 as ErrorResponse, execution as Execution, extract as Extract, type FeatureInputValueDto, type FeatureValueDto, ForbiddenError, type ForwardChainRequest, type ForwardChainResponse, functions as Functions, fuzzy as Fuzzy, FuzzyShape, type FuzzyShapeDto, generation as Generation, type GlbRequest, type GlbResponse, health as Health, homoiconic as Homoiconic, ilp as ILP, imageExtraction as ImageExtraction, inference as Inference, type IngestPaperRequest, type IngestPaperResponse, ingestion as Ingestion, IngestionFailedError, IngestionSession, type IngestionSyncOptions, type Interceptor, InternalServerError, type JsonValue$1 as JsonValue, LP, type ListConversationsResponse, type LubRequest, type LubResponse, namespaces as Namespaces, NetworkError, neuroSymbolic as NeuroSymbolic, NotFoundError, ontology as Ontology, optimize as Optimize, type OsfSearchRequest, type OsfSearchResponse, osfql as Osfql, type OsfqlRequest, type OsfqlResponse, type OsfqlValue, oversight as Oversight, type PaginationParams, type PaperMetadataDto, type PaperSource, type PlainFeatureMap, type PlainFeatureValue, plainValues as PlainValues, preferences as Preferences, proofEngine as ProofEngine, type PsiTermDto, type PsiTermInput, query as Query, rag as RAG, RateLimitError, type RateLimitInfo, reasoning as Reasoning, type ReasoningGroup, ReasoningLayerClient, ReasoningLayerError, type RequestOptions, research as Research, type ResearchContradictionsResponse, type ResearchCycleResponse, type ResearchFindingsResponse, type ResearchGapsResponse, type ResearchReportResponse, type ResearchSessionResponse, reviews as Reviews, row as Row, SDK_VERSION, scenarios as Scenarios, scheduling as Scheduling, type SearchPapersRequest, type SearchPapersResponse, SortBuilder, type SortDto, type SortInfoDto, sorts as Sorts, sources as Sources, spaces as Spaces, statistical as Statistical, synthetic as Synthetic, type SystemGroup, type TermDto, type TermInputArg, type TermInputDto, type TermListResponse, type TermPatternDto, type TermResponse, terms as Terms, TimeoutError, type TurnDto, type UpdateTermRequest, utilities as Utilities, ValidationError, Value, type ValueDto, values as Values, type VerifyClaimRequest, type VerifyClaimResponse, visualization as Visualization, WebSocketClient, WebSocketConnection, webhookActions as WebhookActions, type WorkflowGroup, allen, constrained, discriminateFeatureValue, guard, isConstrainedPlainVar, isPsiTermInput, isTaggedValueDto, isUuid, psi, toTaggedFeatures, toTaggedValue, toTermInputDto, toUntaggedFeatures, toUntaggedValue };
package/dist/index.js CHANGED
@@ -1,5 +1,11 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __export = (target, all) => {
3
+ for (var name in all)
4
+ __defProp(target, name, { get: all[name], enumerable: true });
5
+ };
6
+
1
7
  // src/config.ts
2
- var SDK_VERSION = "0.18.0";
8
+ var SDK_VERSION = "0.20.0";
3
9
  function resolveConfig(config) {
4
10
  if (!config.baseUrl) {
5
11
  throw new Error("ClientConfig.baseUrl is required");
@@ -7384,7 +7390,7 @@ var Scheduling = class {
7384
7390
  this.http = http;
7385
7391
  }
7386
7392
  /**
7387
- * @description Classify every `(agent, day, shift)` cell in the input grid as confirmed-true, confirmed-false, or free. Input validation errors (duplicate agent IDs, out-of-range pins, role minima exceeding total demand, etc.) return HTTP 400. Infeasibility of a well-formed problem is a valid answer and returns HTTP 200 with `status = "infeasible"` and an empty `assignments` list.
7393
+ * @description Classify every `(agent, day, shift)` cell in the input grid as confirmed-true, confirmed-false, or free, and list the role(s) each cell could cover. Input validation errors (duplicate agent IDs, out-of-range pins, role minima exceeding total demand, pin role the agent doesn't have, pin on a multi-role agent where the role is ambiguous, etc.) return HTTP 400. Infeasibility of a well-formed problem is a valid answer and returns HTTP 200 with `status = "infeasible"` and an empty `assignments` list.
7388
7394
  *
7389
7395
  * @tags scheduling
7390
7396
  * @name Feasibility
@@ -20491,11 +20497,15 @@ function ShiftDemandFromFrontToApi(demand) {
20491
20497
  return dto;
20492
20498
  }
20493
20499
  function PinFromFrontToApi(pin) {
20494
- return {
20500
+ const dto = {
20495
20501
  agent_id: pin.agentId,
20496
20502
  day: pin.day,
20497
20503
  shift: pin.shift
20498
20504
  };
20505
+ if (pin.role !== void 0) {
20506
+ dto.role = pin.role;
20507
+ }
20508
+ return dto;
20499
20509
  }
20500
20510
  function SchedulingFeasibilityRequestFromFrontToApi(request) {
20501
20511
  const dto = {
@@ -20514,7 +20524,8 @@ function AssignmentFromApiToFront(dto) {
20514
20524
  agentId: dto.agent_id,
20515
20525
  day: dto.day,
20516
20526
  shift: dto.shift,
20517
- status: dto.status
20527
+ status: dto.status,
20528
+ roles: dto.roles ?? []
20518
20529
  };
20519
20530
  }
20520
20531
  function SchedulingFeasibilityResponseFromApiToFront(dto) {
@@ -22088,6 +22099,10 @@ var optimize_exports = {};
22088
22099
 
22089
22100
  // src/types/scheduling.ts
22090
22101
  var scheduling_exports = {};
22102
+ __export(scheduling_exports, {
22103
+ ANY_ROLE: () => ANY_ROLE
22104
+ });
22105
+ var ANY_ROLE = "any";
22091
22106
 
22092
22107
  // src/types/ilp.ts
22093
22108
  var ilp_exports = {};
@@ -22778,6 +22793,6 @@ function discriminateFeatureValue(value) {
22778
22793
  );
22779
22794
  }
22780
22795
 
22781
- export { action_reviews_exports as ActionReviews, admin_exports as Admin, analysis_exports as Analysis, ApiError, AuthenticationError, BadRequestError, cdl_exports as CDL, causal_exports as Causal, cognitive_exports as Cognitive, collections_exports as Collections, communities_exports as Communities, ConstraintViolationError, constraints_exports as Constraints, control_exports as Control, conversation_exports as Conversation, discovery_exports as Discovery, execution_exports as Execution, extract_exports as Extract, ForbiddenError, functions_exports as Functions, fuzzy_exports as Fuzzy, FuzzyShape, generation_exports as Generation, health_exports as Health, homoiconic_exports as Homoiconic, ilp_exports as ILP, image_extraction_exports as ImageExtraction, inference_exports as Inference, ingestion_exports as Ingestion, IngestionFailedError, IngestionSession, InternalServerError, LP, namespaces_exports as Namespaces, NetworkError, neuro_symbolic_exports as NeuroSymbolic, NotFoundError, ontology_exports as Ontology, optimize_exports as Optimize, osfql_exports as Osfql, oversight_exports as Oversight, plain_values_exports as PlainValues, preferences_exports as Preferences, proof_engine_exports as ProofEngine, query_exports as Query, rag_exports as RAG, RateLimitError, reasoning_exports as Reasoning, ReasoningLayerClient, ReasoningLayerError, research_exports as Research, reviews_exports as Reviews, row_exports as Row, SDK_VERSION, scenarios_exports as Scenarios, scheduling_exports as Scheduling, SortBuilder, sorts_exports as Sorts, sources_exports as Sources, spaces_exports as Spaces, statistical_exports as Statistical, synthetic_exports as Synthetic, terms_exports as Terms, TimeoutError, utilities_exports as Utilities, ValidationError, Value, values_exports as Values, visualization_exports as Visualization, WebSocketClient, WebSocketConnection, webhook_actions_exports as WebhookActions, allen, constrained, discriminateFeatureValue, guard, isConstrainedPlainVar, isPsiTermInput, isTaggedValueDto, isUuid, psi, toTaggedFeatures, toTaggedValue, toTermInputDto, toUntaggedFeatures, toUntaggedValue };
22796
+ export { ANY_ROLE, action_reviews_exports as ActionReviews, admin_exports as Admin, analysis_exports as Analysis, ApiError, AuthenticationError, BadRequestError, cdl_exports as CDL, causal_exports as Causal, cognitive_exports as Cognitive, collections_exports as Collections, communities_exports as Communities, ConstraintViolationError, constraints_exports as Constraints, control_exports as Control, conversation_exports as Conversation, discovery_exports as Discovery, execution_exports as Execution, extract_exports as Extract, ForbiddenError, functions_exports as Functions, fuzzy_exports as Fuzzy, FuzzyShape, generation_exports as Generation, health_exports as Health, homoiconic_exports as Homoiconic, ilp_exports as ILP, image_extraction_exports as ImageExtraction, inference_exports as Inference, ingestion_exports as Ingestion, IngestionFailedError, IngestionSession, InternalServerError, LP, namespaces_exports as Namespaces, NetworkError, neuro_symbolic_exports as NeuroSymbolic, NotFoundError, ontology_exports as Ontology, optimize_exports as Optimize, osfql_exports as Osfql, oversight_exports as Oversight, plain_values_exports as PlainValues, preferences_exports as Preferences, proof_engine_exports as ProofEngine, query_exports as Query, rag_exports as RAG, RateLimitError, reasoning_exports as Reasoning, ReasoningLayerClient, ReasoningLayerError, research_exports as Research, reviews_exports as Reviews, row_exports as Row, SDK_VERSION, scenarios_exports as Scenarios, scheduling_exports as Scheduling, SortBuilder, sorts_exports as Sorts, sources_exports as Sources, spaces_exports as Spaces, statistical_exports as Statistical, synthetic_exports as Synthetic, terms_exports as Terms, TimeoutError, utilities_exports as Utilities, ValidationError, Value, values_exports as Values, visualization_exports as Visualization, WebSocketClient, WebSocketConnection, webhook_actions_exports as WebhookActions, allen, constrained, discriminateFeatureValue, guard, isConstrainedPlainVar, isPsiTermInput, isTaggedValueDto, isUuid, psi, toTaggedFeatures, toTaggedValue, toTermInputDto, toUntaggedFeatures, toUntaggedValue };
22782
22797
  //# sourceMappingURL=index.js.map
22783
22798
  //# sourceMappingURL=index.js.map