@agenticprimitives/coordination 0.0.0-alpha.2

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 (88) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +85 -0
  3. package/dist/core/commands.d.ts +179 -0
  4. package/dist/core/commands.d.ts.map +1 -0
  5. package/dist/core/commands.js +26 -0
  6. package/dist/core/commands.js.map +1 -0
  7. package/dist/core/events.d.ts +163 -0
  8. package/dist/core/events.d.ts.map +1 -0
  9. package/dist/core/events.js +2 -0
  10. package/dist/core/events.js.map +1 -0
  11. package/dist/core/ids.d.ts +31 -0
  12. package/dist/core/ids.d.ts.map +1 -0
  13. package/dist/core/ids.js +36 -0
  14. package/dist/core/ids.js.map +1 -0
  15. package/dist/core/index.d.ts +12 -0
  16. package/dist/core/index.d.ts.map +1 -0
  17. package/dist/core/index.js +6 -0
  18. package/dist/core/index.js.map +1 -0
  19. package/dist/core/provenance.d.ts +29 -0
  20. package/dist/core/provenance.d.ts.map +1 -0
  21. package/dist/core/provenance.js +175 -0
  22. package/dist/core/provenance.js.map +1 -0
  23. package/dist/core/reducer.d.ts +50 -0
  24. package/dist/core/reducer.d.ts.map +1 -0
  25. package/dist/core/reducer.js +1164 -0
  26. package/dist/core/reducer.js.map +1 -0
  27. package/dist/core/types.d.ts +106 -0
  28. package/dist/core/types.d.ts.map +1 -0
  29. package/dist/core/types.js +22 -0
  30. package/dist/core/types.js.map +1 -0
  31. package/dist/decisions/index.d.ts +17 -0
  32. package/dist/decisions/index.d.ts.map +1 -0
  33. package/dist/decisions/index.js +6 -0
  34. package/dist/decisions/index.js.map +1 -0
  35. package/dist/decisions/triage.d.ts +30 -0
  36. package/dist/decisions/triage.d.ts.map +1 -0
  37. package/dist/decisions/triage.js +66 -0
  38. package/dist/decisions/triage.js.map +1 -0
  39. package/dist/decisions/types.d.ts +39 -0
  40. package/dist/decisions/types.d.ts.map +1 -0
  41. package/dist/decisions/types.js +2 -0
  42. package/dist/decisions/types.js.map +1 -0
  43. package/dist/execution/compile.d.ts +60 -0
  44. package/dist/execution/compile.d.ts.map +1 -0
  45. package/dist/execution/compile.js +83 -0
  46. package/dist/execution/compile.js.map +1 -0
  47. package/dist/execution/index.d.ts +3 -0
  48. package/dist/execution/index.d.ts.map +1 -0
  49. package/dist/execution/index.js +2 -0
  50. package/dist/execution/index.js.map +1 -0
  51. package/dist/index.d.ts +13 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +10 -0
  54. package/dist/index.js.map +1 -0
  55. package/dist/participation/index.d.ts +2 -0
  56. package/dist/participation/index.d.ts.map +1 -0
  57. package/dist/participation/index.js +2 -0
  58. package/dist/participation/index.js.map +1 -0
  59. package/dist/participation/types.d.ts +66 -0
  60. package/dist/participation/types.d.ts.map +1 -0
  61. package/dist/participation/types.js +2 -0
  62. package/dist/participation/types.js.map +1 -0
  63. package/dist/planning/hash.d.ts +8 -0
  64. package/dist/planning/hash.d.ts.map +1 -0
  65. package/dist/planning/hash.js +20 -0
  66. package/dist/planning/hash.js.map +1 -0
  67. package/dist/planning/index.d.ts +5 -0
  68. package/dist/planning/index.d.ts.map +1 -0
  69. package/dist/planning/index.js +3 -0
  70. package/dist/planning/index.js.map +1 -0
  71. package/dist/planning/types.d.ts +75 -0
  72. package/dist/planning/types.d.ts.map +1 -0
  73. package/dist/planning/types.js +2 -0
  74. package/dist/planning/types.js.map +1 -0
  75. package/dist/planning/validate.d.ts +13 -0
  76. package/dist/planning/validate.d.ts.map +1 -0
  77. package/dist/planning/validate.js +55 -0
  78. package/dist/planning/validate.js.map +1 -0
  79. package/dist/profiles/index.d.ts +11 -0
  80. package/dist/profiles/index.d.ts.map +1 -0
  81. package/dist/profiles/index.js +3 -0
  82. package/dist/profiles/index.js.map +1 -0
  83. package/dist/projections/index.d.ts +8 -0
  84. package/dist/projections/index.d.ts.map +1 -0
  85. package/dist/projections/index.js +3 -0
  86. package/dist/projections/index.js.map +1 -0
  87. package/package.json +78 -0
  88. package/spec.md +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../../src/core/provenance.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,+BAA+B;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,UAAU,EAAE,yBAAyB,EAAE,CAAC;IACxC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe,EAAE,+BAA+B,EAAE,CAAC;CACpD;AAeD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,kBAAkB,CAiKxF"}
@@ -0,0 +1,175 @@
1
+ // Structural P-Plan/PROV inputs (spec 332 §7): ids + kinds + refs only, so the zero-dependency
2
+ // `provenance` package can later merge them into a full graph without importing coordination.
3
+ const entityRefId = (ref) => {
4
+ switch (ref.kind) {
5
+ case 'agent':
6
+ return ref.id;
7
+ case 'situation':
8
+ return ref.id;
9
+ case 'resource':
10
+ return ref.iri;
11
+ case 'artifact':
12
+ return ref.ref.recordKey;
13
+ }
14
+ };
15
+ export function deriveProvenanceInputs(events) {
16
+ const entities = [];
17
+ const activities = [];
18
+ const correspondences = [];
19
+ const agents = new Set();
20
+ const planRevisionIds = new Map();
21
+ const actId = (e) => `act_${e.eventId}`;
22
+ for (const event of events) {
23
+ switch (event.kind) {
24
+ case 'EndeavorRequestSubmitted': {
25
+ agents.add(event.request.requester);
26
+ entities.push({ id: event.requestId, kind: 'apcoord/EndeavorRequest', generatedBy: actId(event) });
27
+ activities.push({
28
+ id: actId(event),
29
+ kind: 'request-submission',
30
+ agent: event.request.requester,
31
+ generated: [event.requestId],
32
+ });
33
+ break;
34
+ }
35
+ case 'EndeavorRequestDeclined': {
36
+ agents.add(event.declinedBy);
37
+ activities.push({ id: actId(event), kind: 'request-decline', agent: event.declinedBy, used: [event.requestId] });
38
+ break;
39
+ }
40
+ case 'EndeavorAdopted': {
41
+ agents.add(event.managingPrincipal);
42
+ const outcomeId = `${event.outcome.outcomeId}@${event.outcome.revision}`;
43
+ entities.push({ id: event.endeavorId, kind: 'apcoord/Endeavor', generatedBy: actId(event) });
44
+ entities.push({ id: outcomeId, kind: 'apcoord/OutcomeSpecification', generatedBy: actId(event) });
45
+ activities.push({
46
+ id: actId(event),
47
+ kind: 'endeavor-adoption',
48
+ agent: event.managingPrincipal,
49
+ used: [event.requestId],
50
+ generated: [event.endeavorId, outcomeId],
51
+ });
52
+ break;
53
+ }
54
+ case 'OutcomeRevised': {
55
+ const outcomeId = `${event.outcome.outcomeId}@${event.outcome.revision}`;
56
+ const prior = `${event.outcome.outcomeId}@${event.outcome.revision - 1}`;
57
+ entities.push({
58
+ id: outcomeId,
59
+ kind: 'apcoord/OutcomeSpecification',
60
+ generatedBy: actId(event),
61
+ ...(event.outcome.revision > 1 ? { wasRevisionOf: prior } : {}),
62
+ });
63
+ break;
64
+ }
65
+ case 'PlanProposed': {
66
+ agents.add(event.proposedBy);
67
+ const revisionId = `${event.planId}@${event.planRevision}`;
68
+ const prior = planRevisionIds.get(event.planId);
69
+ entities.push({
70
+ id: revisionId,
71
+ kind: 'apcoord/CoordinationPlan',
72
+ generatedBy: actId(event),
73
+ ...(prior ? { wasRevisionOf: prior } : {}),
74
+ });
75
+ activities.push({ id: actId(event), kind: 'plan-proposal', agent: event.proposedBy, generated: [revisionId] });
76
+ planRevisionIds.set(event.planId, revisionId);
77
+ break;
78
+ }
79
+ case 'PlanAdopted': {
80
+ agents.add(event.adoptedBy);
81
+ activities.push({
82
+ id: actId(event),
83
+ kind: 'plan-adoption',
84
+ agent: event.adoptedBy,
85
+ used: [`${event.planRef.planId}@${event.planRef.revision}`],
86
+ });
87
+ break;
88
+ }
89
+ case 'PlanRejected': {
90
+ agents.add(event.rejectedBy);
91
+ activities.push({
92
+ id: actId(event),
93
+ kind: 'plan-rejection',
94
+ agent: event.rejectedBy,
95
+ used: [`${event.planId}@${event.planRevision}`],
96
+ });
97
+ break;
98
+ }
99
+ case 'ParticipationInvited':
100
+ agents.add(event.invitedBy);
101
+ agents.add(event.participant);
102
+ break;
103
+ case 'ParticipationAsserted':
104
+ agents.add(event.participant);
105
+ entities.push({ id: event.participationId, kind: 'apcoord/EndeavorParticipation', generatedBy: actId(event) });
106
+ break;
107
+ case 'ParticipationWithdrawn':
108
+ break;
109
+ case 'ContributionProposed':
110
+ agents.add(event.proposer);
111
+ entities.push({ id: event.proposalId, kind: 'apcoord/ContributionProposal', generatedBy: actId(event) });
112
+ break;
113
+ case 'ContributionAllocated':
114
+ agents.add(event.decidedBy);
115
+ agents.add(event.participant);
116
+ entities.push({ id: event.allocationId, kind: 'apcoord/AllocationDecision', generatedBy: actId(event) });
117
+ break;
118
+ case 'ContributionCommitted': {
119
+ agents.add(event.participant);
120
+ entities.push({ id: event.commitmentId, kind: 'apcoord/ContributionCommitment', generatedBy: actId(event) });
121
+ activities.push({
122
+ id: actId(event),
123
+ kind: 'contribution-commitment',
124
+ agent: event.participant,
125
+ used: [`${event.planRef.planId}@${event.planRef.revision}`, event.allocationRef],
126
+ generated: [event.commitmentId],
127
+ });
128
+ break;
129
+ }
130
+ case 'CommitmentWithdrawn':
131
+ case 'ContributionReallocated':
132
+ break;
133
+ case 'PlanStepSatisfied': {
134
+ agents.add(event.recordedBy);
135
+ const evidence = event.evidenceRefs.map(entityRefId);
136
+ for (const id of evidence)
137
+ entities.push({ id, kind: 'evidence' });
138
+ activities.push({
139
+ id: actId(event),
140
+ kind: 'step-execution',
141
+ agent: event.recordedBy,
142
+ used: [`${event.planRef.planId}@${event.planRef.revision}`, ...evidence],
143
+ });
144
+ correspondences.push({
145
+ activityId: actId(event),
146
+ planId: event.planRef.planId,
147
+ planRevision: event.planRef.revision,
148
+ planHash: event.planRef.hash,
149
+ stepId: event.stepId,
150
+ });
151
+ break;
152
+ }
153
+ case 'MilestoneAchieved': {
154
+ agents.add(event.recordedBy);
155
+ entities.push({ id: `${event.endeavorId}:milestone:${event.milestoneId}`, kind: 'apcoord/MilestoneAchievement', generatedBy: actId(event) });
156
+ break;
157
+ }
158
+ case 'EndeavorSatisfied': {
159
+ const validationId = entityRefId(event.outcomeValidationRef);
160
+ entities.push({ id: validationId, kind: 'outcome-validation' });
161
+ activities.push({ id: actId(event), kind: 'endeavor-satisfaction', used: [validationId] });
162
+ break;
163
+ }
164
+ case 'EndeavorAbandoned':
165
+ break;
166
+ }
167
+ }
168
+ return {
169
+ entities,
170
+ activities,
171
+ agents: [...agents].sort(),
172
+ correspondences,
173
+ };
174
+ }
175
+ //# sourceMappingURL=provenance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provenance.js","sourceRoot":"","sources":["../../src/core/provenance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import type { Address } from '@agenticprimitives/types';
2
+ import type { EntityRef } from '@agenticprimitives/situations';
3
+ import type { PlanStepId } from './ids.js';
4
+ import type { EndeavorRequestV1, EndeavorV1, OutcomeSpecificationV1 } from './types.js';
5
+ import type { CoordinationCommandV1 } from './commands.js';
6
+ import type { RecommendationV1 } from '../decisions/types.js';
7
+ import type { CoordinationEventV1 } from './events.js';
8
+ import type { CoordinationPlanV1, PlanRevisionRef } from '../planning/types.js';
9
+ import type { AllocationDecisionV1, ContributionCommitmentV1, ContributionProposalV1, EndeavorParticipationV1 } from '../participation/types.js';
10
+ import type { MilestoneAchievementV1 } from '../planning/types.js';
11
+ export interface SatisfiedStepV1 {
12
+ stepId: PlanStepId;
13
+ planRef: PlanRevisionRef;
14
+ evidenceRefs: EntityRef[];
15
+ recordedBy: Address;
16
+ recordedAt: string;
17
+ }
18
+ export type EndeavorRequestStatus = 'submitted' | 'adopted' | 'declined';
19
+ export interface CoordinationStateV1 {
20
+ revision: number;
21
+ request?: {
22
+ record: EndeavorRequestV1;
23
+ status: EndeavorRequestStatus;
24
+ };
25
+ endeavor?: EndeavorV1;
26
+ outcome?: OutcomeSpecificationV1;
27
+ plans: Record<string, CoordinationPlanV1>;
28
+ participations: Record<string, EndeavorParticipationV1>;
29
+ proposals: Record<string, ContributionProposalV1>;
30
+ allocations: Record<string, AllocationDecisionV1>;
31
+ commitments: Record<string, ContributionCommitmentV1>;
32
+ milestones: Record<string, MilestoneAchievementV1>;
33
+ satisfiedSteps: Record<string, SatisfiedStepV1>;
34
+ recommendations: Record<string, RecommendationV1>;
35
+ }
36
+ export declare function initialCoordinationState(): CoordinationStateV1;
37
+ export type CommandValidationResult = {
38
+ ok: true;
39
+ events: CoordinationEventV1[];
40
+ } | {
41
+ ok: false;
42
+ reason: string;
43
+ };
44
+ export declare class CoordinationEventError extends Error {
45
+ constructor(message: string);
46
+ }
47
+ export declare const planKey: (planId: string, revision: number) => string;
48
+ export declare function validateCoordinationCommand(state: CoordinationStateV1, command: CoordinationCommandV1): CommandValidationResult;
49
+ export declare function applyCoordinationEvent(state: CoordinationStateV1, event: CoordinationEventV1): CoordinationStateV1;
50
+ //# sourceMappingURL=reducer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../src/core/reducer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAA+B,UAAU,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGhF,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EAExB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,eAAe,CAAC;IACzB,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;AAEzE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,iBAAiB,CAAC;QAAC,MAAM,EAAE,qBAAqB,CAAA;KAAE,CAAC;IACvE,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC1C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IACxD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAClD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAClD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IACtD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACnD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAChD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CACnD;AAED,wBAAgB,wBAAwB,IAAI,mBAAmB,CAY9D;AAED,MAAM,MAAM,uBAAuB,GAC/B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,mBAAmB,EAAE,CAAA;CAAE,GAC3C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAElC,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAG5B;AAED,eAAO,MAAM,OAAO,WAAY,MAAM,YAAY,MAAM,KAAG,MAAiC,CAAC;AAqD7F,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,mBAAmB,EAC1B,OAAO,EAAE,qBAAqB,GAC7B,uBAAuB,CAgrBzB;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,mBAAmB,GACzB,mBAAmB,CAsWrB"}