@feelflow/ffid-sdk 2.7.0 → 2.9.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/{chunk-I6MKRVUB.cjs → chunk-2LD6Y65W.cjs} +572 -1
- package/dist/{chunk-YQPG6Z7W.js → chunk-5SD6KOYJ.js} +571 -2
- package/dist/components/index.cjs +11 -7
- package/dist/components/index.d.cts +1 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.js +1 -1
- package/dist/{index-p4dJw3qR.d.cts → index-R2ALICqm.d.cts} +155 -1
- package/dist/{index-p4dJw3qR.d.ts → index-R2ALICqm.d.ts} +155 -1
- package/dist/index.cjs +30 -22
- package/dist/index.d.cts +18 -3
- package/dist/index.d.ts +18 -3
- package/dist/index.js +2 -2
- package/dist/server/index.cjs +57 -1
- package/dist/server/index.d.cts +46 -0
- package/dist/server/index.d.ts +46 -0
- package/dist/server/index.js +57 -1
- package/package.json +1 -1
package/dist/server/index.cjs
CHANGED
|
@@ -617,7 +617,7 @@ function createMembersMethods(deps) {
|
|
|
617
617
|
}
|
|
618
618
|
|
|
619
619
|
// src/client/version-check.ts
|
|
620
|
-
var SDK_VERSION = "2.
|
|
620
|
+
var SDK_VERSION = "2.9.0";
|
|
621
621
|
var SDK_USER_AGENT = `FFID-SDK/${SDK_VERSION} (TypeScript)`;
|
|
622
622
|
var SDK_VERSION_HEADER = "X-FFID-SDK-Version";
|
|
623
623
|
function sdkHeaders() {
|
|
@@ -1660,6 +1660,56 @@ function createNewsletterMethods(deps) {
|
|
|
1660
1660
|
return { subscribe, confirm, unsubscribe };
|
|
1661
1661
|
}
|
|
1662
1662
|
|
|
1663
|
+
// src/inquiry/ffid-inquiry-client.ts
|
|
1664
|
+
var EXT_INQUIRY_ENDPOINT = "/api/v1/ext/inquiry";
|
|
1665
|
+
function trimOrEmpty2(s) {
|
|
1666
|
+
return typeof s === "string" ? s.trim() : "";
|
|
1667
|
+
}
|
|
1668
|
+
function createInquiryMethods(deps) {
|
|
1669
|
+
const { fetchWithAuth, createError } = deps;
|
|
1670
|
+
async function create(params) {
|
|
1671
|
+
const email = trimOrEmpty2(params.email);
|
|
1672
|
+
const name = trimOrEmpty2(params.name);
|
|
1673
|
+
const message = trimOrEmpty2(params.message);
|
|
1674
|
+
const termsVersion = trimOrEmpty2(params.termsVersion);
|
|
1675
|
+
const privacyVersion = trimOrEmpty2(params.privacyVersion);
|
|
1676
|
+
if (!email) return { error: createError("VALIDATION_ERROR", "email \u306F\u5FC5\u9808\u3067\u3059") };
|
|
1677
|
+
if (!name) return { error: createError("VALIDATION_ERROR", "name \u306F\u5FC5\u9808\u3067\u3059") };
|
|
1678
|
+
if (!message) return { error: createError("VALIDATION_ERROR", "message \u306F\u5FC5\u9808\u3067\u3059") };
|
|
1679
|
+
if (!termsVersion) {
|
|
1680
|
+
return { error: createError("VALIDATION_ERROR", "termsVersion \u306F\u5FC5\u9808\u3067\u3059") };
|
|
1681
|
+
}
|
|
1682
|
+
if (!privacyVersion) {
|
|
1683
|
+
return { error: createError("VALIDATION_ERROR", "privacyVersion \u306F\u5FC5\u9808\u3067\u3059") };
|
|
1684
|
+
}
|
|
1685
|
+
const inquiryFollowupOptIn = params.inquiryFollowupOptIn === true;
|
|
1686
|
+
const generalNewsletterOptIn = params.generalNewsletterOptIn === true;
|
|
1687
|
+
return fetchWithAuth(EXT_INQUIRY_ENDPOINT, {
|
|
1688
|
+
method: "POST",
|
|
1689
|
+
body: JSON.stringify({
|
|
1690
|
+
email,
|
|
1691
|
+
name,
|
|
1692
|
+
message,
|
|
1693
|
+
category: params.category,
|
|
1694
|
+
company: params.company,
|
|
1695
|
+
phone: params.phone,
|
|
1696
|
+
locale: params.locale,
|
|
1697
|
+
termsVersion,
|
|
1698
|
+
privacyVersion,
|
|
1699
|
+
// The ext endpoint still accepts the legacy single-flag field, but
|
|
1700
|
+
// the SDK always submits the 2-layer model. `newsletterOptIn` is
|
|
1701
|
+
// passed as the union of the two new flags only to satisfy the
|
|
1702
|
+
// current schema's required bool — the server preferentially
|
|
1703
|
+
// reads `inquiryFollowupOptIn` / `generalNewsletterOptIn`.
|
|
1704
|
+
newsletterOptIn: inquiryFollowupOptIn || generalNewsletterOptIn,
|
|
1705
|
+
inquiryFollowupOptIn,
|
|
1706
|
+
generalNewsletterOptIn
|
|
1707
|
+
})
|
|
1708
|
+
});
|
|
1709
|
+
}
|
|
1710
|
+
return { create };
|
|
1711
|
+
}
|
|
1712
|
+
|
|
1663
1713
|
// src/client/ffid-client.ts
|
|
1664
1714
|
var UNAUTHORIZED_STATUS2 = 401;
|
|
1665
1715
|
var SDK_LOG_PREFIX = "[FFID SDK]";
|
|
@@ -1940,6 +1990,10 @@ function createFFIDClient(config) {
|
|
|
1940
1990
|
baseUrl,
|
|
1941
1991
|
createError
|
|
1942
1992
|
});
|
|
1993
|
+
const inquiry = createInquiryMethods({
|
|
1994
|
+
fetchWithAuth,
|
|
1995
|
+
createError
|
|
1996
|
+
});
|
|
1943
1997
|
const verifyAccessToken = createVerifyAccessToken({
|
|
1944
1998
|
authMode,
|
|
1945
1999
|
baseUrl,
|
|
@@ -1996,6 +2050,8 @@ function createFFIDClient(config) {
|
|
|
1996
2050
|
verifyOtp,
|
|
1997
2051
|
/** Newsletter methods (subscribe / confirm / unsubscribe) */
|
|
1998
2052
|
newsletter,
|
|
2053
|
+
/** Inquiry methods (create) */
|
|
2054
|
+
inquiry,
|
|
1999
2055
|
/** Token store (token mode only) */
|
|
2000
2056
|
tokenStore,
|
|
2001
2057
|
/** Resolved auth mode */
|
package/dist/server/index.d.cts
CHANGED
|
@@ -1,5 +1,47 @@
|
|
|
1
1
|
export { D as DEFAULT_API_BASE_URL } from '../constants-DvTGHPZn.cjs';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Inquiry types exposed by the FFID SDK.
|
|
5
|
+
*
|
|
6
|
+
* Mirrors the `/api/v1/ext/inquiry` and `/api/contact` endpoints
|
|
7
|
+
* with a single shared shape so that consumers can render one
|
|
8
|
+
* `<FFIDInquiryForm />` and submit through either endpoint.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Categories surfaced by the default form. Consumers are free to
|
|
12
|
+
* pass their own list via `<FFIDInquiryForm categories={...} />`.
|
|
13
|
+
*/
|
|
14
|
+
declare const FFID_INQUIRY_CATEGORIES: readonly ["general", "sales", "support", "partnership", "press", "other"];
|
|
15
|
+
type FFIDInquiryCategory = (typeof FFID_INQUIRY_CATEGORIES)[number];
|
|
16
|
+
/**
|
|
17
|
+
* Parameters for `client.inquiry.create()`. When submitting from a
|
|
18
|
+
* server-side SDK (Service API Key), set `source` to a stable
|
|
19
|
+
* origin string so admins can trace the submission back.
|
|
20
|
+
*/
|
|
21
|
+
interface FFIDInquiryCreateParams {
|
|
22
|
+
email: string;
|
|
23
|
+
name: string;
|
|
24
|
+
message: string;
|
|
25
|
+
category?: FFIDInquiryCategory | (string & {});
|
|
26
|
+
company?: string;
|
|
27
|
+
phone?: string;
|
|
28
|
+
locale?: 'ja' | 'en';
|
|
29
|
+
/** Current terms-of-service version the submitter agreed to. */
|
|
30
|
+
termsVersion: string;
|
|
31
|
+
/** Current privacy-policy version the submitter agreed to. */
|
|
32
|
+
privacyVersion: string;
|
|
33
|
+
/** Opt-in to the post-inquiry follow-up newsletter (Type A). */
|
|
34
|
+
inquiryFollowupOptIn?: boolean;
|
|
35
|
+
/** Opt-in to the general marketing newsletter (Type B). */
|
|
36
|
+
generalNewsletterOptIn?: boolean;
|
|
37
|
+
}
|
|
38
|
+
interface FFIDInquiryCreateResponse {
|
|
39
|
+
ok: true;
|
|
40
|
+
inquiryId: string;
|
|
41
|
+
/** True only when the submitter is already a confirmed newsletter subscriber. */
|
|
42
|
+
newsletterSubscribed: boolean;
|
|
43
|
+
}
|
|
44
|
+
|
|
3
45
|
/**
|
|
4
46
|
* Newsletter types exposed by the FFID SDK.
|
|
5
47
|
*
|
|
@@ -831,6 +873,10 @@ declare function createFFIDClient(config: FFIDConfig): {
|
|
|
831
873
|
confirm: (params: FFIDNewsletterConfirmParams) => Promise<FFIDApiResponse<FFIDNewsletterConfirmResponse>>;
|
|
832
874
|
unsubscribe: (params: FFIDNewsletterUnsubscribeParams) => Promise<FFIDApiResponse<FFIDNewsletterUnsubscribeResponse>>;
|
|
833
875
|
};
|
|
876
|
+
/** Inquiry methods (create) */
|
|
877
|
+
inquiry: {
|
|
878
|
+
create: (params: FFIDInquiryCreateParams) => Promise<FFIDApiResponse<FFIDInquiryCreateResponse>>;
|
|
879
|
+
};
|
|
834
880
|
/** Token store (token mode only) */
|
|
835
881
|
tokenStore: TokenStore;
|
|
836
882
|
/** Resolved auth mode */
|
package/dist/server/index.d.ts
CHANGED
|
@@ -1,5 +1,47 @@
|
|
|
1
1
|
export { D as DEFAULT_API_BASE_URL } from '../constants-DvTGHPZn.js';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Inquiry types exposed by the FFID SDK.
|
|
5
|
+
*
|
|
6
|
+
* Mirrors the `/api/v1/ext/inquiry` and `/api/contact` endpoints
|
|
7
|
+
* with a single shared shape so that consumers can render one
|
|
8
|
+
* `<FFIDInquiryForm />` and submit through either endpoint.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Categories surfaced by the default form. Consumers are free to
|
|
12
|
+
* pass their own list via `<FFIDInquiryForm categories={...} />`.
|
|
13
|
+
*/
|
|
14
|
+
declare const FFID_INQUIRY_CATEGORIES: readonly ["general", "sales", "support", "partnership", "press", "other"];
|
|
15
|
+
type FFIDInquiryCategory = (typeof FFID_INQUIRY_CATEGORIES)[number];
|
|
16
|
+
/**
|
|
17
|
+
* Parameters for `client.inquiry.create()`. When submitting from a
|
|
18
|
+
* server-side SDK (Service API Key), set `source` to a stable
|
|
19
|
+
* origin string so admins can trace the submission back.
|
|
20
|
+
*/
|
|
21
|
+
interface FFIDInquiryCreateParams {
|
|
22
|
+
email: string;
|
|
23
|
+
name: string;
|
|
24
|
+
message: string;
|
|
25
|
+
category?: FFIDInquiryCategory | (string & {});
|
|
26
|
+
company?: string;
|
|
27
|
+
phone?: string;
|
|
28
|
+
locale?: 'ja' | 'en';
|
|
29
|
+
/** Current terms-of-service version the submitter agreed to. */
|
|
30
|
+
termsVersion: string;
|
|
31
|
+
/** Current privacy-policy version the submitter agreed to. */
|
|
32
|
+
privacyVersion: string;
|
|
33
|
+
/** Opt-in to the post-inquiry follow-up newsletter (Type A). */
|
|
34
|
+
inquiryFollowupOptIn?: boolean;
|
|
35
|
+
/** Opt-in to the general marketing newsletter (Type B). */
|
|
36
|
+
generalNewsletterOptIn?: boolean;
|
|
37
|
+
}
|
|
38
|
+
interface FFIDInquiryCreateResponse {
|
|
39
|
+
ok: true;
|
|
40
|
+
inquiryId: string;
|
|
41
|
+
/** True only when the submitter is already a confirmed newsletter subscriber. */
|
|
42
|
+
newsletterSubscribed: boolean;
|
|
43
|
+
}
|
|
44
|
+
|
|
3
45
|
/**
|
|
4
46
|
* Newsletter types exposed by the FFID SDK.
|
|
5
47
|
*
|
|
@@ -831,6 +873,10 @@ declare function createFFIDClient(config: FFIDConfig): {
|
|
|
831
873
|
confirm: (params: FFIDNewsletterConfirmParams) => Promise<FFIDApiResponse<FFIDNewsletterConfirmResponse>>;
|
|
832
874
|
unsubscribe: (params: FFIDNewsletterUnsubscribeParams) => Promise<FFIDApiResponse<FFIDNewsletterUnsubscribeResponse>>;
|
|
833
875
|
};
|
|
876
|
+
/** Inquiry methods (create) */
|
|
877
|
+
inquiry: {
|
|
878
|
+
create: (params: FFIDInquiryCreateParams) => Promise<FFIDApiResponse<FFIDInquiryCreateResponse>>;
|
|
879
|
+
};
|
|
834
880
|
/** Token store (token mode only) */
|
|
835
881
|
tokenStore: TokenStore;
|
|
836
882
|
/** Resolved auth mode */
|
package/dist/server/index.js
CHANGED
|
@@ -616,7 +616,7 @@ function createMembersMethods(deps) {
|
|
|
616
616
|
}
|
|
617
617
|
|
|
618
618
|
// src/client/version-check.ts
|
|
619
|
-
var SDK_VERSION = "2.
|
|
619
|
+
var SDK_VERSION = "2.9.0";
|
|
620
620
|
var SDK_USER_AGENT = `FFID-SDK/${SDK_VERSION} (TypeScript)`;
|
|
621
621
|
var SDK_VERSION_HEADER = "X-FFID-SDK-Version";
|
|
622
622
|
function sdkHeaders() {
|
|
@@ -1659,6 +1659,56 @@ function createNewsletterMethods(deps) {
|
|
|
1659
1659
|
return { subscribe, confirm, unsubscribe };
|
|
1660
1660
|
}
|
|
1661
1661
|
|
|
1662
|
+
// src/inquiry/ffid-inquiry-client.ts
|
|
1663
|
+
var EXT_INQUIRY_ENDPOINT = "/api/v1/ext/inquiry";
|
|
1664
|
+
function trimOrEmpty2(s) {
|
|
1665
|
+
return typeof s === "string" ? s.trim() : "";
|
|
1666
|
+
}
|
|
1667
|
+
function createInquiryMethods(deps) {
|
|
1668
|
+
const { fetchWithAuth, createError } = deps;
|
|
1669
|
+
async function create(params) {
|
|
1670
|
+
const email = trimOrEmpty2(params.email);
|
|
1671
|
+
const name = trimOrEmpty2(params.name);
|
|
1672
|
+
const message = trimOrEmpty2(params.message);
|
|
1673
|
+
const termsVersion = trimOrEmpty2(params.termsVersion);
|
|
1674
|
+
const privacyVersion = trimOrEmpty2(params.privacyVersion);
|
|
1675
|
+
if (!email) return { error: createError("VALIDATION_ERROR", "email \u306F\u5FC5\u9808\u3067\u3059") };
|
|
1676
|
+
if (!name) return { error: createError("VALIDATION_ERROR", "name \u306F\u5FC5\u9808\u3067\u3059") };
|
|
1677
|
+
if (!message) return { error: createError("VALIDATION_ERROR", "message \u306F\u5FC5\u9808\u3067\u3059") };
|
|
1678
|
+
if (!termsVersion) {
|
|
1679
|
+
return { error: createError("VALIDATION_ERROR", "termsVersion \u306F\u5FC5\u9808\u3067\u3059") };
|
|
1680
|
+
}
|
|
1681
|
+
if (!privacyVersion) {
|
|
1682
|
+
return { error: createError("VALIDATION_ERROR", "privacyVersion \u306F\u5FC5\u9808\u3067\u3059") };
|
|
1683
|
+
}
|
|
1684
|
+
const inquiryFollowupOptIn = params.inquiryFollowupOptIn === true;
|
|
1685
|
+
const generalNewsletterOptIn = params.generalNewsletterOptIn === true;
|
|
1686
|
+
return fetchWithAuth(EXT_INQUIRY_ENDPOINT, {
|
|
1687
|
+
method: "POST",
|
|
1688
|
+
body: JSON.stringify({
|
|
1689
|
+
email,
|
|
1690
|
+
name,
|
|
1691
|
+
message,
|
|
1692
|
+
category: params.category,
|
|
1693
|
+
company: params.company,
|
|
1694
|
+
phone: params.phone,
|
|
1695
|
+
locale: params.locale,
|
|
1696
|
+
termsVersion,
|
|
1697
|
+
privacyVersion,
|
|
1698
|
+
// The ext endpoint still accepts the legacy single-flag field, but
|
|
1699
|
+
// the SDK always submits the 2-layer model. `newsletterOptIn` is
|
|
1700
|
+
// passed as the union of the two new flags only to satisfy the
|
|
1701
|
+
// current schema's required bool — the server preferentially
|
|
1702
|
+
// reads `inquiryFollowupOptIn` / `generalNewsletterOptIn`.
|
|
1703
|
+
newsletterOptIn: inquiryFollowupOptIn || generalNewsletterOptIn,
|
|
1704
|
+
inquiryFollowupOptIn,
|
|
1705
|
+
generalNewsletterOptIn
|
|
1706
|
+
})
|
|
1707
|
+
});
|
|
1708
|
+
}
|
|
1709
|
+
return { create };
|
|
1710
|
+
}
|
|
1711
|
+
|
|
1662
1712
|
// src/client/ffid-client.ts
|
|
1663
1713
|
var UNAUTHORIZED_STATUS2 = 401;
|
|
1664
1714
|
var SDK_LOG_PREFIX = "[FFID SDK]";
|
|
@@ -1939,6 +1989,10 @@ function createFFIDClient(config) {
|
|
|
1939
1989
|
baseUrl,
|
|
1940
1990
|
createError
|
|
1941
1991
|
});
|
|
1992
|
+
const inquiry = createInquiryMethods({
|
|
1993
|
+
fetchWithAuth,
|
|
1994
|
+
createError
|
|
1995
|
+
});
|
|
1942
1996
|
const verifyAccessToken = createVerifyAccessToken({
|
|
1943
1997
|
authMode,
|
|
1944
1998
|
baseUrl,
|
|
@@ -1995,6 +2049,8 @@ function createFFIDClient(config) {
|
|
|
1995
2049
|
verifyOtp,
|
|
1996
2050
|
/** Newsletter methods (subscribe / confirm / unsubscribe) */
|
|
1997
2051
|
newsletter,
|
|
2052
|
+
/** Inquiry methods (create) */
|
|
2053
|
+
inquiry,
|
|
1998
2054
|
/** Token store (token mode only) */
|
|
1999
2055
|
tokenStore,
|
|
2000
2056
|
/** Resolved auth mode */
|