ガイド 第45

パッケージ API リファレンス

主要 export 一覧

@event/fours-sdk@event/schema@event/core@event/cms@event/session-card@event/crm-schema@event/feedback@event/shell@event/booking@event/mailer@event/mcp@event/networking@event/spatial@event/visuals@event/asset-kit

packages/*internal-packages パターン(TS ソースを直接 export → 消費側 Next.js の transpilePackages)。ここは各 src/index.ts の主要 export をパッケージ横断で 1 枚にした索引である。網羅性優先なので詳細は各章へ。export の真実源は常に index.ts で、この表と食い違ったら index.ts を正とする。

@event/* 15 パッケージ

パッケージ役割主要 export
@event/fours-sdk唯一の型付き 4S クライアント(直 fetch 禁止)createFoursConfig foursFetch fetchEvent listSessionsFromEvent adaptSession adaptSpeaker fetch4SUser fetchOrgMembers verify4SUser createSessionCodec isResourceOwner mergeCollectionCanonical safetyGuard verifyWebhookSignature createLoginProxyHandler createCognitoRefreshHandler(ブラウザ側は subpath /client
@event/schema正規ドメイン型(ID は全域 idSession Speaker Room Venue FloorPlan Sponsor PassTier Visibility / 登録簿 LOCKED_SESSION_FIELDS CARD_OVERLAY_FIELDS
@event/core共有インフラの背骨createContentStore createSharedPasswordAuth constantTimeEqual loginJitter kv hasKv defineEnv envExample withCronAuth createNextConfig buildSecurityHeaders buildCsp
@event/cmsJSON-as-DB + schema 駆動 admin(UI は /uigenIdFieldSchema ResourceSchema / createResourceRegistry createContentReader applyLockedGuard createCmsActions pickPublicFields validatePayload createCmsRouteHandlers
@event/session-card1A–10A photo-first カード(barrel 再輸出)engine: fitTitleLayout breakTitleLines visualWidth fitRole fitSpeakerName computeBalance computeGridBalance effectiveVariant buildResolved / render: SessionCard ScaledCard SessionCardDesigner(persist は subpath /persist
@event/crm-schemaMCP-first 二層 DBcreateManifestIndex addExtensionField STANDARD_CORE_FIELDS DEFAULT_MANIFEST CRM_TABLES user organization member entityLp auditLog db guardedUpdate guardedArchive
@event/feedbackサーベイ / ランキング / ライブ投票(lib のみ)DEFAULT_FACE_SCALE createFeedbackStore rankSubjects subjectScore aggregate responsesToCsv createSubmitHandler createLiveStore hostKeyFor verifyHostKey
@event/shellrealm / nav / シェル(UI は /uidefineRealms createNavRegistry createDevLoginHandler createAuthGateMiddleware defineEventConfig composeFeatures isFeatureEnabled envExampleFor
@event/booking予約 / waitlist / 見積 + 帳票 UI(/uicreateReservationStore createBookingActions defineBookingConfig reservationTableSql / computeQuote makeEstimateNo createNeonQuoteStore createBlobQuoteStore yen formatJst / /ui: QuoteDocument
@event/mailerResend + Slack Block Kit(server 専用)createMailer defineTemplate renderShell ctaButton escapeHtml / invitationTemplate otpTemplate notifyTemplate / slackBlocks keyValueBlocks postToSlack
@event/mcpMCP server テンプレ(stdio + HTTP 同一 tool 群)createEventMcpServer startStdio createMcpHttpHandler EventTool text json dbToolGroup contentToolGroup foursToolGroup resolveMcpSettings DEFAULT_MCP_SETTINGS
@event/networkingマッチング / 名鑑 / プライバシー(lib のみ)normalizeName matchName buildDictionary jaroWinkler / isEligibleForListing canContact sanitizeSubjectForPublic applyKAnonymity / resolveTier parseCsv rankByCount createRegistrySchema
@event/spatialmap / timetable / expo プリミティブSvgHotspotLayer("use client")/ lanePack + JST formatTime 群 / timetable model / spatial config
@event/visualsビジュアル生成フレームワークresolveBrand brandCssVars(brand)/ printScale aSeriesMm(formats)/ defineTemplate createTemplateRegistry(templates)/ VisualChrome(chrome)
@event/asset-kitDOM→PNG/PDF/.ai + Blob store(index なし・subpath)/server: createAssetStore createUploadHandler / /bulk: bulkZip downloadBlob / /capture: exportPng exportPdf exportAi copyPngToClipboard ExportFmt / /image: uploadImageWithVariants

パッケージでないもの

packages/create-event-app@event/* ではなく CLIbin: create-event-appbin.mjs)。ライブラリ export は持たない(npx create-event-app <name> のテンプレート生成器)。

subpath / UI の分離規約

  • UI 同梱パッケージは React コンポーネントを別 subpath に切る: @event/cms/ui @event/shell/ui。lib 本体は React 非依存を保つ
  • server 専用は subpath で隔離: @event/session-card/persist@event/asset-kit/server。edge / client バンドルに node:fs / crypto を混入させない
  • @event/asset-kit だけは barrel(index.ts)を持たず、server / bulk / capture / image の 4 subpath を package.jsonexports で公開する(serverless サイズ配慮で sharp / pdf-lib を使う route だけに載せるため)