@agenticprimitives/home 0.0.0-alpha.11 → 0.0.0-alpha.13

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 (34) hide show
  1. package/dist/agent-management/action-cards.d.ts +31 -0
  2. package/dist/agent-management/action-cards.d.ts.map +1 -0
  3. package/dist/agent-management/action-cards.js +23 -0
  4. package/dist/agent-management/action-cards.js.map +1 -0
  5. package/dist/agent-management/card-editor-manifest.d.ts +40 -0
  6. package/dist/agent-management/card-editor-manifest.d.ts.map +1 -0
  7. package/dist/agent-management/card-editor-manifest.js +62 -0
  8. package/dist/agent-management/card-editor-manifest.js.map +1 -0
  9. package/dist/agent-management/inbox-events.d.ts +29 -0
  10. package/dist/agent-management/inbox-events.d.ts.map +1 -0
  11. package/dist/agent-management/inbox-events.js +24 -0
  12. package/dist/agent-management/inbox-events.js.map +1 -0
  13. package/dist/agent-management/index.d.ts +6 -0
  14. package/dist/agent-management/index.d.ts.map +1 -0
  15. package/dist/agent-management/index.js +9 -0
  16. package/dist/agent-management/index.js.map +1 -0
  17. package/dist/agent-management/permissions.d.ts +31 -0
  18. package/dist/agent-management/permissions.d.ts.map +1 -0
  19. package/dist/agent-management/permissions.js +74 -0
  20. package/dist/agent-management/permissions.js.map +1 -0
  21. package/dist/agent-management/projection-center-manifest.d.ts +78 -0
  22. package/dist/agent-management/projection-center-manifest.d.ts.map +1 -0
  23. package/dist/agent-management/projection-center-manifest.js +10 -0
  24. package/dist/agent-management/projection-center-manifest.js.map +1 -0
  25. package/dist/index.d.ts +1 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +3 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/types.d.ts +5 -3
  30. package/dist/types.d.ts.map +1 -1
  31. package/dist/validate.d.ts.map +1 -1
  32. package/dist/validate.js +1 -0
  33. package/dist/validate.js.map +1 -1
  34. package/package.json +4 -4
@@ -0,0 +1,31 @@
1
+ import type { ApprovalRefV1, CanonicalAgentId } from '@agenticprimitives/types';
2
+ import type { HomeActionCardV1 } from '../types.js';
3
+ export interface StudioApprovalSubjectV1 {
4
+ agent: CanonicalAgentId;
5
+ kind: 'card-release' | 'projection-publication' | 'binding-revocation';
6
+ objectId: string;
7
+ /** The digest the approver is approving — card release / artifact / publication plan. */
8
+ digest: string;
9
+ targetFamily?: string;
10
+ plannedOperations?: Array<{
11
+ kind: string;
12
+ target: string;
13
+ estimatedCost?: string;
14
+ }>;
15
+ spendCeiling?: string;
16
+ expiresAt?: string;
17
+ }
18
+ export interface StudioApprovalCardV1 extends Omit<HomeActionCardV1, 'cardKind'> {
19
+ cardKind: 'card-release-approval' | 'projection-publish-approval' | 'binding-revocation';
20
+ subject: StudioApprovalSubjectV1;
21
+ }
22
+ /** Build the approval card render half. `base` supplies interaction/proof refs the app already has. */
23
+ export declare function buildStudioApprovalCard(subject: StudioApprovalSubjectV1, base: Omit<HomeActionCardV1, 'type' | 'cardKind' | 'title' | 'summary'>): StudioApprovalCardV1;
24
+ /** Does this approval cover this card's subject? Fail-closed: digest, expiry and (when present) key must match. */
25
+ export declare function approvalCoversSubject(approval: ApprovalRefV1, subject: StudioApprovalSubjectV1, now: string): {
26
+ ok: true;
27
+ } | {
28
+ ok: false;
29
+ reason: 'digest' | 'expired';
30
+ };
31
+ //# sourceMappingURL=action-cards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-cards.d.ts","sourceRoot":"","sources":["../../src/agent-management/action-cards.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,gBAAgB,CAAC;IACxB,IAAI,EAAE,cAAc,GAAG,wBAAwB,GAAG,oBAAoB,CAAC;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC;IAC9E,QAAQ,EAAE,uBAAuB,GAAG,6BAA6B,GAAG,oBAAoB,CAAC;IACzF,OAAO,EAAE,uBAAuB,CAAC;CAClC;AAQD,uGAAuG;AACvG,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC,GAAG,oBAAoB,CAMvK;AAED,mHAAmH;AACnH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,uBAAuB,EAAE,GAAG,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAA;CAAE,CAIxK"}
@@ -0,0 +1,23 @@
1
+ const CARD_KIND = {
2
+ 'card-release': 'card-release-approval',
3
+ 'projection-publication': 'projection-publish-approval',
4
+ 'binding-revocation': 'binding-revocation',
5
+ };
6
+ /** Build the approval card render half. `base` supplies interaction/proof refs the app already has. */
7
+ export function buildStudioApprovalCard(subject, base) {
8
+ if (!/^sha256:[0-9a-f]{64}$/.test(subject.digest))
9
+ throw new Error('[home/agent-management] approval subject digest must be sha256:<hex>');
10
+ const title = subject.kind === 'card-release' ? 'Approve agent card release' : subject.kind === 'projection-publication' ? `Approve publication to ${subject.targetFamily ?? 'target'}` : 'Approve binding revocation';
11
+ const ops = subject.plannedOperations?.length ? ` · ${subject.plannedOperations.length} operation(s)` : '';
12
+ const spend = subject.spendCeiling ? ` · ceiling ${subject.spendCeiling}` : '';
13
+ return { ...base, type: 'ap.home.action-card.v1', cardKind: CARD_KIND[subject.kind], title, summary: `${subject.objectId} · ${subject.digest.slice(0, 19)}…${ops}${spend}`, subject };
14
+ }
15
+ /** Does this approval cover this card's subject? Fail-closed: digest, expiry and (when present) key must match. */
16
+ export function approvalCoversSubject(approval, subject, now) {
17
+ if (approval.approvedDigest !== subject.digest)
18
+ return { ok: false, reason: 'digest' };
19
+ if (approval.expiresAt && approval.expiresAt <= now)
20
+ return { ok: false, reason: 'expired' };
21
+ return { ok: true };
22
+ }
23
+ //# sourceMappingURL=action-cards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-cards.js","sourceRoot":"","sources":["../../src/agent-management/action-cards.ts"],"names":[],"mappings":"AAuBA,MAAM,SAAS,GAA8E;IAC3F,cAAc,EAAE,uBAAuB;IACvC,wBAAwB,EAAE,6BAA6B;IACvD,oBAAoB,EAAE,oBAAoB;CAC3C,CAAC;AAEF,uGAAuG;AACvG,MAAM,UAAU,uBAAuB,CAAC,OAAgC,EAAE,IAAuE;IAC/I,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC3I,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,wBAAwB,CAAC,CAAC,CAAC,0BAA0B,OAAO,CAAC,YAAY,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC;IACvN,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,iBAAiB,CAAC,MAAM,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3G,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,QAAQ,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC;AACxL,CAAC;AAED,mHAAmH;AACnH,MAAM,UAAU,qBAAqB,CAAC,QAAuB,EAAE,OAAgC,EAAE,GAAW;IAC1G,IAAI,QAAQ,CAAC,cAAc,KAAK,OAAO,CAAC,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACvF,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,IAAI,GAAG;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC7F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC"}
@@ -0,0 +1,40 @@
1
+ export type FieldControl = 'text' | 'textarea' | 'url' | 'tri-state-boolean' | 'string-list' | 'mime-list' | 'interface-list' | 'security-scheme-map' | 'security-requirements' | 'skill-list' | 'extension-list' | 'readonly';
2
+ export type FieldBadge = 'inherited' | 'overridden' | 'computed' | 'manual' | 'verified' | 'stale' | 'conflict' | 'projection-only';
3
+ export interface CardEditorFieldV1 {
4
+ /** RFC 6901 pointer into A2AAgentCardV1. */
5
+ pointer: string;
6
+ label: string;
7
+ help: string;
8
+ control: FieldControl;
9
+ required: boolean;
10
+ /** Optional booleans MUST be tri-state so "unset" and "explicitly false" serialize differently. */
11
+ optionalPresence?: boolean;
12
+ privacyClass: 'public' | 'audience' | 'never-public';
13
+ }
14
+ export interface CardEditorSectionV1 {
15
+ id: 'identity' | 'interfaces' | 'protocol-features' | 'media' | 'security' | 'advertised-capabilities' | 'signatures' | 'extended-card';
16
+ title: string;
17
+ /** One plain sentence naming what lives in this section. The titles are A2A vocabulary ("Media types",
18
+ * "Extended card policies"); without this a steward is asked to navigate eight abstractions. */
19
+ blurb: string;
20
+ fields: CardEditorFieldV1[];
21
+ }
22
+ export interface CardEditorManifestV1 {
23
+ type: 'ap.home.card-editor-manifest.v1';
24
+ protocolVersion: '1.0';
25
+ sections: CardEditorSectionV1[];
26
+ /** `live-endpoint` is the card the world actually fetches; every other panel is about the DRAFT. */
27
+ inspectorPanels: readonly ['effective-json', 'live-endpoint', 'provenance', 'validation', 'projection-impact', 'release-diff'];
28
+ badges: readonly FieldBadge[];
29
+ }
30
+ export declare const A2A_CARD_EDITOR_MANIFEST: CardEditorManifestV1;
31
+ /** Normative version labels (source document §7.1). Apps MUST use these strings. */
32
+ export declare const VERSION_LABELS: {
33
+ readonly agentVersion: "Agent implementation version";
34
+ readonly protocolVersion: "A2A protocol version";
35
+ readonly cardRelease: "Card release";
36
+ readonly profileRelease: "Profile release";
37
+ readonly targetSpecification: "Target specification version";
38
+ readonly adapterVersion: "Adapter version";
39
+ };
40
+ //# sourceMappingURL=card-editor-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card-editor-manifest.d.ts","sourceRoot":"","sources":["../../src/agent-management/card-editor-manifest.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,KAAK,GAAG,mBAAmB,GAAG,aAAa,GAAG,WAAW,GAAG,gBAAgB,GAAG,qBAAqB,GAAG,uBAAuB,GAAG,YAAY,GAAG,gBAAgB,GAAG,UAAU,CAAC;AAE/N,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,iBAAiB,CAAC;AAEpI,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,mGAAmG;IACnG,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,QAAQ,GAAG,UAAU,GAAG,cAAc,CAAC;CACtD;AAED,MAAM,WAAW,mBAAmB;IAIlC,EAAE,EAAE,UAAU,GAAG,YAAY,GAAG,mBAAmB,GAAG,OAAO,GAAG,UAAU,GAAG,yBAAyB,GAAG,YAAY,GAAG,eAAe,CAAC;IACxI,KAAK,EAAE,MAAM,CAAC;IACd;qGACiG;IACjG,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,iCAAiC,CAAC;IACxC,eAAe,EAAE,KAAK,CAAC;IACvB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,oGAAoG;IACpG,eAAe,EAAE,SAAS,CAAC,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,cAAc,CAAC,CAAC;IAC/H,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;CAC/B;AAID,eAAO,MAAM,wBAAwB,EAAE,oBA+CtC,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,cAAc;;;;;;;CAOjB,CAAC"}
@@ -0,0 +1,62 @@
1
+ // Portable A2A Agent Card editor manifest (spec 347 §9, source document §5/§7.1). UI-framework neutral:
2
+ // the app renders sections/fields from this; labels here are NORMATIVE copy (never call the agent
3
+ // implementation version plain "Version"). Field state badges come from FieldBindingV1 provenance.
4
+ const f = (pointer, label, help, control, required = false, privacyClass = 'public', optionalPresence) => ({ pointer, label, help, control, required, privacyClass, ...(optionalPresence ? { optionalPresence } : {}) });
5
+ export const A2A_CARD_EDITOR_MANIFEST = {
6
+ type: 'ap.home.card-editor-manifest.v1',
7
+ protocolVersion: '1.0',
8
+ sections: [
9
+ { id: 'identity', title: 'Identity & presentation', blurb: "Who this agent is: name, description, and the organization behind it.", fields: [
10
+ f('/name', 'Agent name', 'Human-readable name shown to A2A clients. Inherited from the canonical profile.', 'text', true),
11
+ f('/description', 'Description', 'What the agent does. Inherited from the canonical profile.', 'textarea', true),
12
+ f('/version', 'Agent implementation version', 'Version of THIS agent implementation — not the A2A protocol version and not the card release number.', 'text', true),
13
+ f('/protocolVersion', 'A2A protocol version', 'Pinned by the standards lock; read-only.', 'readonly', true),
14
+ f('/provider/organization', 'Provider organization', 'The organization operating this agent (relationship must exist in the profile).', 'text'),
15
+ f('/provider/url', 'Provider URL', 'Public website of the provider.', 'url'),
16
+ f('/documentationUrl', 'Documentation URL', 'Public documentation for integrators.', 'url'),
17
+ f('/iconUrl', 'Icon URL', 'Public icon.', 'url'),
18
+ ] },
19
+ { id: 'interfaces', title: 'Interfaces', blurb: "Where other agents connect — the endpoint URLs and protocols, most preferred first.", fields: [
20
+ f('/supportedInterfaces', 'Supported interfaces', 'Ordered — the FIRST is preferred. Inherited from the surface catalog and the deployment; an override is recorded as such.', 'interface-list', true),
21
+ ] },
22
+ { id: 'protocol-features', title: 'Protocol features', blurb: "What the running service supports as a protocol: streaming, push notifications, extensions. Not what the agent can DO — that is Advertised capabilities.", fields: [
23
+ f('/capabilities/streaming', 'Streaming', 'Declared by the runtime.', 'tri-state-boolean', false, 'public', true),
24
+ f('/capabilities/pushNotifications', 'Push notifications', 'DERIVED by the runtime — claiming it without runtime evidence fails validation.', 'tri-state-boolean', false, 'public', true),
25
+ f('/capabilities/stateTransitionHistory', 'State transition history', 'Declared by the runtime.', 'tri-state-boolean', false, 'public', true),
26
+ f('/capabilities/extendedAgentCard', 'Extended agent card', 'Only when an extended-card policy is configured and the authenticated operation is implemented.', 'tri-state-boolean', false, 'public', true),
27
+ f('/capabilities/extensions', 'Extensions', 'A2A extensions this agent activates (e.g. AP authority).', 'extension-list'),
28
+ ] },
29
+ { id: 'media', title: 'Media types', blurb: "The content types this agent accepts and returns by default.", fields: [
30
+ f('/defaultInputModes', 'Default input modes', 'MIME types accepted by default.', 'mime-list', true),
31
+ f('/defaultOutputModes', 'Default output modes', 'MIME types produced by default.', 'mime-list', true),
32
+ ] },
33
+ { id: 'security', title: 'Security', blurb: "How a caller proves who they are before this agent will answer.", fields: [
34
+ f('/securitySchemes', 'Security schemes', 'Exactly one scheme type per entry. Never a secret.', 'security-scheme-map'),
35
+ f('/securityRequirements', 'Security requirements', 'Which schemes a client must satisfy.', 'security-requirements'),
36
+ ] },
37
+ { id: 'advertised-capabilities', title: 'Advertised capabilities', blurb: "What this agent can do. Only capabilities this agent has PUBLISHED can be advertised here — one kept privately in its record is not a candidate, which is the privacy boundary working. Publish it on the Capabilities page, then curate or omit it here. A2A calls this `skills[]` on the wire — see the raw JSON.", fields: [
38
+ // The POINTER stays `/skills` — that is the A2A wire and we do not get to rename it. The LABEL is
39
+ // what a steward reads, and it appeared in diagnostics as "Skills: this doesn't match…" on the one
40
+ // screen this vocabulary work exists to fix.
41
+ f('/skills', 'Advertised capabilities', 'Choose from what this agent PUBLISHES (`atl:capabilities`, on chain) plus what its runtime serves; each is shown with its source. Saving a capability to your record keeps it private and does NOT make it available here — publishing it does.', 'skill-list', true),
42
+ ] },
43
+ { id: 'signatures', title: 'Signatures', blurb: "Proof the card was not tampered with. Added when you sign a release; nothing to edit here.", fields: [
44
+ f('/signatures', 'Card signatures', 'Attached at release; excluded from the canonical bytes.', 'readonly'),
45
+ ] },
46
+ { id: 'extended-card', title: 'Extended card policies', blurb: "Extra detail shown only to callers who authenticate — never part of the public card.", fields: [
47
+ f('/extendedCardPolicies', 'Audience overlays', 'Per-audience additions over the public base — never a duplicated document.', 'readonly', false, 'audience'),
48
+ ] },
49
+ ],
50
+ inspectorPanels: ['effective-json', 'live-endpoint', 'provenance', 'validation', 'projection-impact', 'release-diff'],
51
+ badges: ['inherited', 'overridden', 'computed', 'manual', 'verified', 'stale', 'conflict', 'projection-only'],
52
+ };
53
+ /** Normative version labels (source document §7.1). Apps MUST use these strings. */
54
+ export const VERSION_LABELS = {
55
+ agentVersion: 'Agent implementation version',
56
+ protocolVersion: 'A2A protocol version',
57
+ cardRelease: 'Card release',
58
+ profileRelease: 'Profile release',
59
+ targetSpecification: 'Target specification version',
60
+ adapterVersion: 'Adapter version',
61
+ };
62
+ //# sourceMappingURL=card-editor-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card-editor-manifest.js","sourceRoot":"","sources":["../../src/agent-management/card-editor-manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export declare const STUDIO_AUDIT_ACTIONS: readonly ["agent.card.created", "agent.card.imported", "agent.card.draft.updated", "agent.card.validation.completed", "agent.card.interface.tested", "agent.card.release.created", "agent.card.approval.requested", "agent.card.release.approved", "agent.card.signed", "agent.card.binding.created", "agent.card.published", "agent.card.superseded", "agent.card.deprecated", "agent.card.revoked", "agent.projection.configured", "agent.projection.generated", "agent.projection.validation.completed", "agent.projection.approval.requested", "agent.projection.approved", "agent.projection.publication.planned", "agent.projection.publish.started", "agent.projection.publish.completed", "agent.projection.publish.failed", "agent.projection.drift.detected", "agent.projection.reconciled", "agent.projection.retired", "agent.binding.created", "agent.binding.verified", "agent.binding.verification.failed", "agent.binding.suspended", "agent.binding.revoked", "agent.naming.updated", "agent.standards-lock.updated"];
2
+ export type StudioAuditAction = (typeof STUDIO_AUDIT_ACTIONS)[number];
3
+ /** Every Studio audit row carries these (spec 347 §9). Structural — the `audit` package builds the event. */
4
+ export interface StudioAuditContextV1 {
5
+ canonicalAgentId: string;
6
+ objectId: string;
7
+ actor: string;
8
+ actingAuthorityRef?: string;
9
+ inputDigest?: string;
10
+ resultDigest?: string;
11
+ target?: string;
12
+ correlationId: string;
13
+ receiptRef?: string;
14
+ txRef?: string;
15
+ privacyClass: 'public' | 'audience' | 'never-public';
16
+ }
17
+ export type StudioInboxEventKind = 'card-draft-stale' | 'projection-drift' | 'approval-needed' | 'publication-failed' | 'binding-verification-failed' | 'standards-lock-updated';
18
+ export interface StudioInboxEventV1 {
19
+ type: 'ap.home.studio-inbox-event.v1';
20
+ kind: StudioInboxEventKind;
21
+ agent: string;
22
+ objectId: string;
23
+ at: string;
24
+ /** Which Studio tab resolves it. */
25
+ surface: 'agent-card' | 'projections' | 'names-bindings' | 'releases-audit';
26
+ summary: string;
27
+ }
28
+ export declare function studioInboxEventFromAudit(action: StudioAuditAction, ctx: StudioAuditContextV1, at: string): StudioInboxEventV1 | null;
29
+ //# sourceMappingURL=inbox-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inbox-events.d.ts","sourceRoot":"","sources":["../../src/agent-management/inbox-events.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,oBAAoB,w+BASvB,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,6GAA6G;AAC7G,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,QAAQ,GAAG,UAAU,GAAG,cAAc,CAAC;CACtD;AAED,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,6BAA6B,GAAG,wBAAwB,CAAC;AAEjL,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,+BAA+B,CAAC;IACtC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,oCAAoC;IACpC,OAAO,EAAE,YAAY,GAAG,aAAa,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;IAC5E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,oBAAoB,EAAE,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAWrI"}
@@ -0,0 +1,24 @@
1
+ // Studio notifications + audit action names (spec 347 §9). Names follow `audit`'s dotted convention.
2
+ export const STUDIO_AUDIT_ACTIONS = [
3
+ 'agent.card.created', 'agent.card.imported', 'agent.card.draft.updated', 'agent.card.validation.completed', 'agent.card.interface.tested',
4
+ 'agent.card.release.created', 'agent.card.approval.requested', 'agent.card.release.approved', 'agent.card.signed', 'agent.card.binding.created',
5
+ 'agent.card.published', 'agent.card.superseded', 'agent.card.deprecated', 'agent.card.revoked',
6
+ 'agent.projection.configured', 'agent.projection.generated', 'agent.projection.validation.completed', 'agent.projection.approval.requested', 'agent.projection.approved',
7
+ 'agent.projection.publication.planned', 'agent.projection.publish.started', 'agent.projection.publish.completed', 'agent.projection.publish.failed',
8
+ 'agent.projection.drift.detected', 'agent.projection.reconciled', 'agent.projection.retired',
9
+ 'agent.binding.created', 'agent.binding.verified', 'agent.binding.verification.failed', 'agent.binding.suspended', 'agent.binding.revoked',
10
+ 'agent.naming.updated', 'agent.standards-lock.updated',
11
+ ];
12
+ export function studioInboxEventFromAudit(action, ctx, at) {
13
+ const base = { type: 'ap.home.studio-inbox-event.v1', agent: ctx.canonicalAgentId, objectId: ctx.objectId, at };
14
+ switch (action) {
15
+ case 'agent.projection.drift.detected': return { ...base, kind: 'projection-drift', surface: 'projections', summary: `Projection ${ctx.objectId} drifted from ${ctx.target ?? 'its target'}` };
16
+ case 'agent.card.approval.requested':
17
+ case 'agent.projection.approval.requested': return { ...base, kind: 'approval-needed', surface: action.startsWith('agent.card') ? 'agent-card' : 'projections', summary: `Approval requested for ${ctx.objectId}` };
18
+ case 'agent.projection.publish.failed': return { ...base, kind: 'publication-failed', surface: 'projections', summary: `Publication of ${ctx.objectId} failed` };
19
+ case 'agent.binding.verification.failed': return { ...base, kind: 'binding-verification-failed', surface: 'names-bindings', summary: `Binding ${ctx.objectId} failed verification` };
20
+ case 'agent.standards-lock.updated': return { ...base, kind: 'standards-lock-updated', surface: 'projections', summary: 'Standards lock updated — dependent projections need review' };
21
+ default: return null;
22
+ }
23
+ }
24
+ //# sourceMappingURL=inbox-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inbox-events.js","sourceRoot":"","sources":["../../src/agent-management/inbox-events.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,oBAAoB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,iCAAiC,EAAE,6BAA6B;IACzI,4BAA4B,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,4BAA4B;IAC/I,sBAAsB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,oBAAoB;IAC9F,6BAA6B,EAAE,4BAA4B,EAAE,uCAAuC,EAAE,qCAAqC,EAAE,2BAA2B;IACxK,sCAAsC,EAAE,kCAAkC,EAAE,oCAAoC,EAAE,iCAAiC;IACnJ,iCAAiC,EAAE,6BAA6B,EAAE,0BAA0B;IAC5F,uBAAuB,EAAE,wBAAwB,EAAE,mCAAmC,EAAE,yBAAyB,EAAE,uBAAuB;IAC1I,sBAAsB,EAAE,8BAA8B;CAC9C,CAAC;AA+BX,MAAM,UAAU,yBAAyB,CAAC,MAAyB,EAAE,GAAyB,EAAE,EAAU;IACxG,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,+BAAwC,EAAE,KAAK,EAAE,GAAG,CAAC,gBAAgB,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;IACzH,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,iCAAiC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,GAAG,CAAC,QAAQ,iBAAiB,GAAG,CAAC,MAAM,IAAI,YAAY,EAAE,EAAE,CAAC;QAC/L,KAAK,+BAA+B,CAAC;QACrC,KAAK,qCAAqC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,0BAA0B,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;QACpN,KAAK,iCAAiC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,GAAG,CAAC,QAAQ,SAAS,EAAE,CAAC;QACjK,KAAK,mCAAmC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,6BAA6B,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,GAAG,CAAC,QAAQ,sBAAsB,EAAE,CAAC;QACrL,KAAK,8BAA8B,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,4DAA4D,EAAE,CAAC;QACvL,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC;IACvB,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './permissions.js';
2
+ export * from './card-editor-manifest.js';
3
+ export * from './projection-center-manifest.js';
4
+ export * from './action-cards.js';
5
+ export * from './inbox-events.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent-management/index.ts"],"names":[],"mappings":"AAGA,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,9 @@
1
+ // @agenticprimitives/home — Agent Card & Projection Studio contracts (spec 347 §9). Portable manifests,
2
+ // scopes, approval cards and audit/inbox shapes the Home app renders. Home is the CONTROL PLANE, never
3
+ // the authority: nothing here signs, publishes, transacts or grants (ADR-0062 §7).
4
+ export * from './permissions.js';
5
+ export * from './card-editor-manifest.js';
6
+ export * from './projection-center-manifest.js';
7
+ export * from './action-cards.js';
8
+ export * from './inbox-events.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent-management/index.ts"],"names":[],"mappings":"AAAA,wGAAwG;AACxG,uGAAuG;AACvG,mFAAmF;AACnF,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,31 @@
1
+ export declare const AGENT_CARD_SCOPES: readonly ["agent.profile.read", "agent.card.read", "agent.card.draft", "agent.card.import", "agent.card.validate", "agent.card.approve", "agent.card.sign", "agent.card.publish", "agent.projection.read", "agent.projection.preview", "agent.projection.approve", "agent.projection.reconcile", "agent.binding.verify", "agent.binding.revoke", "agent.naming.update", "agent.registry.spend"];
2
+ export type AgentCardScope = (typeof AGENT_CARD_SCOPES)[number];
3
+ /** `agent.projection.publish:<family>` — publishing is scoped PER target family, never blanket. */
4
+ export type ProjectionPublishScope = `agent.projection.publish:${string}`;
5
+ export type StudioScope = AgentCardScope | ProjectionPublishScope;
6
+ export declare function projectionPublishScope(family: string): ProjectionPublishScope;
7
+ export declare function isStudioScope(s: string): s is StudioScope;
8
+ /** The four duties. A holder set that collapses ALL of them onto one principal is legal but flagged. */
9
+ export type StudioDuty = 'editor' | 'approver' | 'signer' | 'publisher';
10
+ export declare const DUTY_SCOPES: Record<StudioDuty, readonly StudioScope[]>;
11
+ /** Which duties a scope set exercises. Pure. */
12
+ export declare function dutiesOf(scopes: readonly string[]): StudioDuty[];
13
+ /**
14
+ * Separation-of-duties finding. Returns the duties that ONE principal holds together. Empty = separated.
15
+ * Policy (whether that is allowed) is the app's; this only reports.
16
+ */
17
+ export declare function separationOfDutiesFindings(holders: ReadonlyArray<{
18
+ principal: string;
19
+ scopes: readonly string[];
20
+ }>): Array<{
21
+ principal: string;
22
+ duties: StudioDuty[];
23
+ }>;
24
+ /** Actions that REQUIRE an explicit ApprovalRefV1 (spec 347 §9 high-risk list). */
25
+ export declare const APPROVAL_REQUIRED_ACTIONS: readonly ["registry.register", "registry.spend", "dns.update", "certificate.request", "name.transfer", "binding.revoke", "skill.disclose-public", "card.new-production", "provider.change", "ownership.change"];
26
+ export type ApprovalRequiredAction = (typeof APPROVAL_REQUIRED_ACTIONS)[number];
27
+ /** What the Agent Metadata Steward (service agent) MAY do by default and MUST NEVER do (spec 347 §9). */
28
+ export declare const STEWARD_DEFAULT_SCOPES: readonly StudioScope[];
29
+ export declare const STEWARD_FORBIDDEN_SCOPES: readonly StudioScope[];
30
+ export declare function stewardScopeViolations(requested: readonly string[]): string[];
31
+ //# sourceMappingURL=permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/agent-management/permissions.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,iBAAiB,iYAiBpB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,mGAAmG;AACnG,MAAM,MAAM,sBAAsB,GAAG,4BAA4B,MAAM,EAAE,CAAC;AAC1E,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,sBAAsB,CAAC;AAElE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,sBAAsB,CAG7E;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,WAAW,CAEzD;AAED,wGAAwG;AACxG,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC;AAExE,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,WAAW,EAAE,CAKlE,CAAC;AAEF,gDAAgD;AAChD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,EAAE,CAMhE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,aAAa,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,GAAG,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC,CAIvK;AAED,mFAAmF;AACnF,eAAO,MAAM,yBAAyB,iNAW5B,CAAC;AACX,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhF,yGAAyG;AACzG,eAAO,MAAM,sBAAsB,EAAE,SAAS,WAAW,EAA8I,CAAC;AACxM,eAAO,MAAM,wBAAwB,EAAE,SAAS,WAAW,EAAuK,CAAC;AAEnO,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAE7E"}
@@ -0,0 +1,74 @@
1
+ // Studio scopes (spec 347 §9). A scope is an ENTITLEMENT resource/action pair the Home ASKS the
2
+ // authority layer about — it is never granted here and never inferred from a role label. Editor ≠
3
+ // approver ≠ signer ≠ publisher: one person may hold several in a low-risk environment, but they stay
4
+ // distinct capabilities and distinct audit events (ADR-0062 §7).
5
+ export const AGENT_CARD_SCOPES = [
6
+ 'agent.profile.read',
7
+ 'agent.card.read',
8
+ 'agent.card.draft',
9
+ 'agent.card.import',
10
+ 'agent.card.validate',
11
+ 'agent.card.approve',
12
+ 'agent.card.sign',
13
+ 'agent.card.publish',
14
+ 'agent.projection.read',
15
+ 'agent.projection.preview',
16
+ 'agent.projection.approve',
17
+ 'agent.projection.reconcile',
18
+ 'agent.binding.verify',
19
+ 'agent.binding.revoke',
20
+ 'agent.naming.update',
21
+ 'agent.registry.spend',
22
+ ];
23
+ export function projectionPublishScope(family) {
24
+ if (!/^[a-z0-9][a-z0-9-]*$/.test(family))
25
+ throw new Error(`[home/agent-management] bad target family "${family}"`);
26
+ return `agent.projection.publish:${family}`;
27
+ }
28
+ export function isStudioScope(s) {
29
+ return AGENT_CARD_SCOPES.includes(s) || /^agent\.projection\.publish:[a-z0-9][a-z0-9-]*$/.test(s);
30
+ }
31
+ export const DUTY_SCOPES = {
32
+ editor: ['agent.card.draft', 'agent.card.import', 'agent.card.validate', 'agent.projection.preview'],
33
+ approver: ['agent.card.approve', 'agent.projection.approve'],
34
+ signer: ['agent.card.sign'],
35
+ publisher: ['agent.card.publish', 'agent.naming.update', 'agent.registry.spend'],
36
+ };
37
+ /** Which duties a scope set exercises. Pure. */
38
+ export function dutiesOf(scopes) {
39
+ const out = [];
40
+ for (const duty of Object.keys(DUTY_SCOPES)) {
41
+ if (DUTY_SCOPES[duty].some((s) => scopes.includes(s)) || (duty === 'publisher' && scopes.some((s) => s.startsWith('agent.projection.publish:'))))
42
+ out.push(duty);
43
+ }
44
+ return out;
45
+ }
46
+ /**
47
+ * Separation-of-duties finding. Returns the duties that ONE principal holds together. Empty = separated.
48
+ * Policy (whether that is allowed) is the app's; this only reports.
49
+ */
50
+ export function separationOfDutiesFindings(holders) {
51
+ return holders
52
+ .map((h) => ({ principal: h.principal, duties: dutiesOf(h.scopes) }))
53
+ .filter((h) => h.duties.length > 1);
54
+ }
55
+ /** Actions that REQUIRE an explicit ApprovalRefV1 (spec 347 §9 high-risk list). */
56
+ export const APPROVAL_REQUIRED_ACTIONS = [
57
+ 'registry.register',
58
+ 'registry.spend',
59
+ 'dns.update',
60
+ 'certificate.request',
61
+ 'name.transfer',
62
+ 'binding.revoke',
63
+ 'skill.disclose-public',
64
+ 'card.new-production',
65
+ 'provider.change',
66
+ 'ownership.change',
67
+ ];
68
+ /** What the Agent Metadata Steward (service agent) MAY do by default and MUST NEVER do (spec 347 §9). */
69
+ export const STEWARD_DEFAULT_SCOPES = ['agent.profile.read', 'agent.card.read', 'agent.card.draft', 'agent.card.validate', 'agent.projection.read', 'agent.projection.preview'];
70
+ export const STEWARD_FORBIDDEN_SCOPES = ['agent.card.sign', 'agent.card.publish', 'agent.binding.revoke', 'agent.naming.update', 'agent.registry.spend', 'agent.card.approve', 'agent.projection.approve'];
71
+ export function stewardScopeViolations(requested) {
72
+ return requested.filter((s) => STEWARD_FORBIDDEN_SCOPES.includes(s) || s.startsWith('agent.projection.publish:'));
73
+ }
74
+ //# sourceMappingURL=permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/agent-management/permissions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import type { ProjectionDiagnosticV1 } from '@agenticprimitives/types';
2
+ export type ProjectionRowState = 'unconfigured' | 'configured' | 'ready' | 'generated' | 'approvalPending' | 'publishing' | 'published' | 'drifted' | 'stale' | 'failed' | 'retired';
3
+ export type DriftLabel = 'current' | 'source-stale' | 'adapter-stale' | 'remote-drift' | 'remote-unavailable' | 'binding-failed' | 'publication-superseded' | 'target-upgraded';
4
+ export interface ProjectionCenterRowV1 {
5
+ type: 'ap.home.projection-row.v1';
6
+ projectionInstanceId: string;
7
+ definition: {
8
+ id: string;
9
+ displayName: string;
10
+ family: string;
11
+ targetSpecification: string;
12
+ targetVersion: string;
13
+ adapterVersion: string;
14
+ };
15
+ state: ProjectionRowState;
16
+ sourceRefs: {
17
+ canonicalProfileDigest: string;
18
+ selectedCardReleaseId?: string;
19
+ selectedCardDigest?: string;
20
+ };
21
+ digests?: {
22
+ sourceBundle: string;
23
+ artifact: string;
24
+ configuration: string;
25
+ };
26
+ binding?: {
27
+ bindingId: string;
28
+ externalId: string;
29
+ verification: 'pendingVerification' | 'active' | 'stale' | 'suspended' | 'superseded' | 'revoked';
30
+ };
31
+ drift?: DriftLabel;
32
+ losses: Array<{
33
+ category: string;
34
+ severity: string;
35
+ explanation: string;
36
+ }>;
37
+ requiredActions: string[];
38
+ diagnostics: ProjectionDiagnosticV1[];
39
+ lastPublication?: {
40
+ receiptId: string;
41
+ publishedAt: string;
42
+ uri?: string;
43
+ verification: 'valid' | 'invalid' | 'unverified';
44
+ };
45
+ /** Studio actions the viewer's scopes allow; the app re-checks authority server-side. */
46
+ actions: Array<'configure' | 'preview' | 'validate' | 'plan' | 'request-approval' | 'publish' | 'fetch-remote' | 'reconcile' | 'retire'>;
47
+ }
48
+ export interface AgentCardSummaryRowV1 {
49
+ type: 'ap.home.agent-card-row.v1';
50
+ cardResourceId: string;
51
+ displayName: string;
52
+ primary: boolean;
53
+ environment: 'production' | 'staging' | 'development';
54
+ draftState: 'clean' | 'dirty' | 'stale' | 'conflict';
55
+ latestRelease?: {
56
+ releaseId: string;
57
+ releaseNumber: number;
58
+ state: string;
59
+ contentDigest: string;
60
+ signed: boolean;
61
+ smartAgentBound: boolean;
62
+ };
63
+ publication?: {
64
+ uri: string;
65
+ verifiedAt?: string;
66
+ result: 'valid' | 'invalid' | 'unverified';
67
+ };
68
+ projections: {
69
+ total: number;
70
+ published: number;
71
+ drifted: number;
72
+ stale: number;
73
+ };
74
+ actions: Array<'edit' | 'validate' | 'test-interfaces' | 'create-release' | 'request-approval' | 'sign' | 'publish' | 'deprecate' | 'revoke'>;
75
+ }
76
+ /** Fold projection rows into the summary counters. Pure. */
77
+ export declare function summarizeProjections(rows: readonly ProjectionCenterRowV1[]): AgentCardSummaryRowV1['projections'];
78
+ //# sourceMappingURL=projection-center-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projection-center-manifest.d.ts","sourceRoot":"","sources":["../../src/agent-management/projection-center-manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /** Fold projection rows into the summary counters. Pure. */
2
+ export function summarizeProjections(rows) {
3
+ return {
4
+ total: rows.length,
5
+ published: rows.filter((r) => r.state === 'published').length,
6
+ drifted: rows.filter((r) => r.state === 'drifted' || r.drift === 'remote-drift').length,
7
+ stale: rows.filter((r) => r.state === 'stale' || r.drift === 'source-stale' || r.drift === 'adapter-stale' || r.drift === 'target-upgraded').length,
8
+ };
9
+ }
10
+ //# sourceMappingURL=projection-center-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projection-center-manifest.js","sourceRoot":"","sources":["../../src/agent-management/projection-center-manifest.ts"],"names":[],"mappings":"AAqCA,4DAA4D;AAC5D,MAAM,UAAU,oBAAoB,CAAC,IAAsC;IACzE,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,MAAM;QAClB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,MAAM;QAC7D,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,cAAc,CAAC,CAAC,MAAM;QACvF,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,cAAc,IAAI,CAAC,CAAC,KAAK,KAAK,eAAe,IAAI,CAAC,CAAC,KAAK,KAAK,iBAAiB,CAAC,CAAC,MAAM;KACpJ,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -5,4 +5,5 @@ export { type ProofRefV1, type PolicyRefV1, type AuditRefV1, type EndpointRefV1,
5
5
  export { type ManifestValidationError, validateHomeManifest, isManifestCurrent, type ManifestVerificationPort, type CardValidationError, validateHomeActionCard, resolveCardAction, } from './validate.js';
6
6
  export { type HomeInboxSummaryV1, projectHomeInboxSummary } from './projection.js';
7
7
  export { type EndeavorLifecycle, ENDEAVOR_LIFECYCLES, type EndeavorParticipationRole, type ContributionStateFact, CONTRIBUTION_STATE_FACTS, type HomePlanRevisionRefV1, type HomeEndeavorSummaryV1, type HomeContributionEntryV1, type HomeDecisionCardV1, type AgentRunState, type HomeAgentRunEntryV1, type HomePortfolioSummaryV1, type HomeCapacitySummaryV1, type HomeCoordinationAlertKind, COORDINATION_ALERT_KINDS, type HomeCoordinationAlertV1, type EndeavorSummaryValidationError, validateHomeEndeavorSummary, type ContributionEntryValidationError, validateHomeContributionEntry, type DecisionCardValidationError, validateHomeDecisionCard, type CoordinationAlertValidationError, validateHomeCoordinationAlert, } from './coordination.js';
8
+ export { type AgentCardScope, type ProjectionPublishScope, type StudioScope, type StudioDuty, type ApprovalRequiredAction, type FieldControl, type FieldBadge, type CardEditorFieldV1, type CardEditorSectionV1, type CardEditorManifestV1, type ProjectionRowState, type DriftLabel, type ProjectionCenterRowV1, type AgentCardSummaryRowV1, type StudioApprovalSubjectV1, type StudioApprovalCardV1, type StudioAuditAction, type StudioAuditContextV1, type StudioInboxEventKind, type StudioInboxEventV1, AGENT_CARD_SCOPES, projectionPublishScope, isStudioScope, DUTY_SCOPES, dutiesOf, separationOfDutiesFindings, APPROVAL_REQUIRED_ACTIONS, STEWARD_DEFAULT_SCOPES, STEWARD_FORBIDDEN_SCOPES, stewardScopeViolations, A2A_CARD_EDITOR_MANIFEST, VERSION_LABELS, summarizeProjections, buildStudioApprovalCard, approvalCoversSubject, STUDIO_AUDIT_ACTIONS, studioInboxEventFromAudit, } from './agent-management/index.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,YAAY,4BAA4B,CAAC;AACtD,eAAO,MAAM,cAAc,EAAG,cAAuB,CAAC;AACtD,eAAO,MAAM,QAAQ,4DAA4D,CAAC;AAElF,OAAO,EACL,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,6BAA6B,EAClC,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,KAAK,uBAAuB,EAC5B,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,KAAK,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAKnF,OAAO,EACL,KAAK,iBAAiB,EACtB,mBAAmB,EACnB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,wBAAwB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,2BAA2B,EAC3B,KAAK,gCAAgC,EACrC,6BAA6B,EAC7B,KAAK,2BAA2B,EAChC,wBAAwB,EACxB,KAAK,gCAAgC,EACrC,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,YAAY,4BAA4B,CAAC;AACtD,eAAO,MAAM,cAAc,EAAG,cAAuB,CAAC;AACtD,eAAO,MAAM,QAAQ,4DAA4D,CAAC;AAElF,OAAO,EACL,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,6BAA6B,EAClC,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,KAAK,uBAAuB,EAC5B,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,KAAK,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAKnF,OAAO,EACL,KAAK,iBAAiB,EACtB,mBAAmB,EACnB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,wBAAwB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,2BAA2B,EAC3B,KAAK,gCAAgC,EACrC,6BAA6B,EAC7B,KAAK,2BAA2B,EAChC,wBAAwB,EACxB,KAAK,gCAAgC,EACrC,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,WAAW,EACX,QAAQ,EACR,0BAA0B,EAC1B,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC"}
package/dist/index.js CHANGED
@@ -16,4 +16,7 @@ export { projectHomeInboxSummary } from './projection.js';
16
16
  // spec-332/333 coordination records + audit rows. Projections only: none is a
17
17
  // source of truth and none carries authority.
18
18
  export { ENDEAVOR_LIFECYCLES, CONTRIBUTION_STATE_FACTS, COORDINATION_ALERT_KINDS, validateHomeEndeavorSummary, validateHomeContributionEntry, validateHomeDecisionCard, validateHomeCoordinationAlert, } from './coordination.js';
19
+ // Agent Card & Projection Studio contracts (spec 347 §9, ADR-0062). Manifests + scopes + approval cards;
20
+ // the Home renders these and asks the authority layer — it mints nothing.
21
+ export { AGENT_CARD_SCOPES, projectionPublishScope, isStudioScope, DUTY_SCOPES, dutiesOf, separationOfDutiesFindings, APPROVAL_REQUIRED_ACTIONS, STEWARD_DEFAULT_SCOPES, STEWARD_FORBIDDEN_SCOPES, stewardScopeViolations, A2A_CARD_EDITOR_MANIFEST, VERSION_LABELS, summarizeProjections, buildStudioApprovalCard, approvalCoversSubject, STUDIO_AUDIT_ACTIONS, studioInboxEventFromAudit, } from './agent-management/index.js';
19
22
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+EAA+E;AAC/E,mEAAmE;AACnE,4EAA4E;AAC5E,EAAE;AACF,uEAAuE;AACvE,+EAA+E;AAC/E,oEAAoE;AACpE,oEAAoE;AAEpE,MAAM,CAAC,MAAM,YAAY,GAAG,yBAAyB,CAAC;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,cAAuB,CAAC;AACtD,MAAM,CAAC,MAAM,QAAQ,GAAG,yDAAyD,CAAC;AA0BlF,OAAO,EAEL,oBAAoB,EACpB,iBAAiB,EAGjB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAA2B,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAEnF,8EAA8E;AAC9E,8EAA8E;AAC9E,8CAA8C;AAC9C,OAAO,EAEL,mBAAmB,EAGnB,wBAAwB,EAUxB,wBAAwB,EAGxB,2BAA2B,EAE3B,6BAA6B,EAE7B,wBAAwB,EAExB,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+EAA+E;AAC/E,mEAAmE;AACnE,4EAA4E;AAC5E,EAAE;AACF,uEAAuE;AACvE,+EAA+E;AAC/E,oEAAoE;AACpE,oEAAoE;AAEpE,MAAM,CAAC,MAAM,YAAY,GAAG,yBAAyB,CAAC;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,cAAuB,CAAC;AACtD,MAAM,CAAC,MAAM,QAAQ,GAAG,yDAAyD,CAAC;AA0BlF,OAAO,EAEL,oBAAoB,EACpB,iBAAiB,EAGjB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAA2B,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAEnF,8EAA8E;AAC9E,8EAA8E;AAC9E,8CAA8C;AAC9C,OAAO,EAEL,mBAAmB,EAGnB,wBAAwB,EAUxB,wBAAwB,EAGxB,2BAA2B,EAE3B,6BAA6B,EAE7B,wBAAwB,EAExB,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC;AAE3B,yGAAyG;AACzG,0EAA0E;AAC1E,OAAO,EAqBL,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,WAAW,EACX,QAAQ,EACR,0BAA0B,EAC1B,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC"}
package/dist/types.d.ts CHANGED
@@ -16,7 +16,9 @@ export type StoreRefV1 = string;
16
16
  /** A relying app, by its canonical agent id or registered client id. */
17
17
  export type AppRefV1 = string;
18
18
  /** The five Home surfaces (spec 310 §2). */
19
- export type HomeSurfaceKind = 'identity-entry' | 'connected-apps' | 'managed-agents' | 'authority-review' | 'inbox';
19
+ export type HomeSurfaceKind = 'identity-entry' | 'connected-apps' | 'managed-agents' | 'authority-review' | 'inbox'
20
+ /** Agent Card & Projection Studio (spec 347 §9). */
21
+ | 'agent-cards';
20
22
  export interface HomeSurfaceDescriptorV1 {
21
23
  surface: HomeSurfaceKind;
22
24
  /** How capable this Home's implementation of the surface is. */
@@ -103,7 +105,7 @@ export interface ConnectedAppGrantV1 {
103
105
  export type HomeCardUiProfile = 'agenticprimitives-card-v1' | 'a2ui' | 'open-json-ui' | 'mcp-ui-resource';
104
106
  /** Same vocabulary as `interactions`' ActionCardKind (transport half) so a
105
107
  * received card maps 1:1 onto its render descriptor. */
106
- export type HomeActionCardKind = 'access-request' | 'entitlement-request' | 'credential-review' | 'tool-approval' | 'delegation-review' | 'policy-exception' | 'revocation-notice' | 'needs-information';
108
+ export type HomeActionCardKind = 'access-request' | 'entitlement-request' | 'credential-review' | 'tool-approval' | 'delegation-review' | 'policy-exception' | 'revocation-notice' | 'needs-information' | 'card-release-approval' | 'projection-publish-approval' | 'binding-revocation';
107
109
  /** An action a card/agent-entry offers. Pressing it can only PROPOSE a signed
108
110
  * lifecycle transition — it grants nothing (spec 310 §6.3). */
109
111
  export interface HomeActionDescriptorV1 {
@@ -137,7 +139,7 @@ export interface HomeControlEventV1 {
137
139
  type: 'ap.home.control-event.v1';
138
140
  homeId: string;
139
141
  actor: CanonicalAgentId;
140
- eventType: 'grant-issued' | 'grant-revoked' | 'agent-added' | 'agent-disabled' | 'credential-issued' | 'credential-received' | 'inbox-decision' | 'home-rotated';
142
+ eventType: 'grant-issued' | 'grant-revoked' | 'agent-added' | 'agent-disabled' | 'credential-issued' | 'credential-received' | 'inbox-decision' | 'home-rotated' | 'card-released' | 'card-published' | 'projection-published' | 'binding-revoked';
141
143
  at: string;
142
144
  refs: (AuthorityRef | VaultRef)[];
143
145
  auditRef: AuditRefV1;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAepB,MAAM,MAAM,uBAAuB,GAC/B,UAAU,GACV,iBAAiB,GACjB,eAAe,GACf,YAAY,GACZ,aAAa,GACb,aAAa,GACb,mBAAmB,GACnB,gBAAgB,GAChB,iBAAiB,GACjB,2BAA2B,GAC3B,eAAe,GACf,oCAAoC,CAAC;AAEzC,8DAA8D;AAC9D,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,cAAc,GAAG,uBAAuB,EAAE,CAgCjF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAO3E;AAED;+EAC+E;AAC/E,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjE;AAED,MAAM,MAAM,mBAAmB,GAC3B,UAAU,GACV,aAAa,GACb,YAAY,GACZ,qBAAqB,GACrB,eAAe,CAAC;AAEpB,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CAapF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,QAAQ,EAAE,MAAM,GACf,sBAAsB,GAAG,IAAI,CAE/B"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAgBpB,MAAM,MAAM,uBAAuB,GAC/B,UAAU,GACV,iBAAiB,GACjB,eAAe,GACf,YAAY,GACZ,aAAa,GACb,aAAa,GACb,mBAAmB,GACnB,gBAAgB,GAChB,iBAAiB,GACjB,2BAA2B,GAC3B,eAAe,GACf,oCAAoC,CAAC;AAEzC,8DAA8D;AAC9D,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,cAAc,GAAG,uBAAuB,EAAE,CAgCjF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAO3E;AAED;+EAC+E;AAC/E,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjE;AAED,MAAM,MAAM,mBAAmB,GAC3B,UAAU,GACV,aAAa,GACb,YAAY,GACZ,qBAAqB,GACrB,eAAe,CAAC;AAEpB,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CAapF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,QAAQ,EAAE,MAAM,GACf,sBAAsB,GAAG,IAAI,CAE/B"}
package/dist/validate.js CHANGED
@@ -8,6 +8,7 @@ const SURFACE_KINDS = [
8
8
  'managed-agents',
9
9
  'authority-review',
10
10
  'inbox',
11
+ 'agent-cards',
11
12
  ];
12
13
  function isIsoDate(s) {
13
14
  return typeof s === 'string' && !Number.isNaN(Date.parse(s));
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agenticprimitives/home",
3
- "version": "0.0.0-alpha.11",
3
+ "version": "0.0.0-alpha.13",
4
4
  "description": "Portable Agentic Trust Home contracts (spec 310): signed Home manifests, surface descriptors, inbox bindings, action cards, managed-agent/connected-app projections, control-plane events. Schema + validation + deterministic projection only — no routes, UI, or branding.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -31,9 +31,9 @@
31
31
  "access": "public"
32
32
  },
33
33
  "dependencies": {
34
- "@agenticprimitives/fabric": "0.0.0-alpha.11",
35
- "@agenticprimitives/types": "1.0.0-alpha.22",
36
- "@agenticprimitives/vault": "0.0.0-alpha.2"
34
+ "@agenticprimitives/fabric": "0.0.0-alpha.13",
35
+ "@agenticprimitives/types": "1.0.0-alpha.24",
36
+ "@agenticprimitives/vault": "0.0.0-alpha.4"
37
37
  },
38
38
  "devDependencies": {
39
39
  "vitest": "^4.1.8",